app\Models\ContactoModel.php
<?php
namespace App\Models;
use CodeIgniter\Model;
class ContactoModel extends Model
{
protected $table = 'contactos';
protected $primaryKey = 'id';
protected $allowedFields = ['nombre', 'apellidos', 'celular'];
protected $validationRules = [
'nombre' => 'required|min_length[3]',
'apellidos' => 'required|min_length[3]',
'celular' => 'required|numeric|min_length[7]'
];
protected $validationMessages = [
'nombre' => ['required' => 'El nombre es obligatorio.', 'min_length' => 'Debe tener al menos 3 caracteres.'],
'apellidos' => ['required' => 'Los apellidos son obligatorios.', 'min_length' => 'Los apellidos debe tener al menos 3 caracteres.'],
'celular' => ['required' => 'El celular es obligatorio.', 'numeric' => 'El celular debe contener solo números.', 'min_length' => 'El celular debe tener al menos 7 dígitos.']
];
}
app\Controllers\Contacto.php (Extracto)
public function guardar()
{
$modelo = new ContactoModel();
$data = [
'nombre' => $this->request->getPost('nombre'),
'apellidos' => $this->request->getPost('apellidos'),
'celular' => $this->request->getPost('celular'),
];
if (!$modelo->insert($data)) {
return view('contacto/crear', [
'errors' => $modelo->errors(),
'old' => $data
]);
}
return redirect()->to(MI_BASE_URL.'crear')->with('mensaje', 'Contacto agregado correctamente.');
}
app\Views\contacto\crear.php
<h1>Crear Contacto</h1>
<?php if (session()->getFlashdata('mensaje')): ?>
<p style="color:green"><?= session()->getFlashdata('mensaje') ?></p>
<?php endif; ?>
<?php if (isset($errors)): ?>
<ul style="color:red">
<?php foreach ($errors as $error): ?>
<li><?= esc($error) ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<form action="<?= MI_BASE_URL.'guardar' ?>" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre"><br><br>
<label for="apellidos">Apellido:</label>
<input type="text" id="apellidos" name="apellidos"><br><br>
<label for="celular">Celular:</label>
<input type="text" id="celular" name="celular"><br><br>
<input type="submit" value="Crear">
</form>
No hay comentarios.:
Publicar un comentario