Documente Academic
Documente Profesional
Documente Cultură
Las Amricas
Framework Laravel
Universidad
Las Amricas
Framework Laravel
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class MiFormulario extends Request{
protected $redirect = "home/miformulario";
public function rules(){
return [
'nombre' => 'required|min:3|max:12|regex:/^[a-z]+
$/i',
];
}
public function messages(){
return [
'nombre.required' => 'El campo nombre es requerido',
'nombre.min' => 'El mnimo permitido son 3 caracteres',
'nombre.max' => 'El mximo permitido son 12 caracteres',
'nombre.regex' => 'Slo se aceptan letras',
];
}
public function response(array $errors){
return redirect($this->redirect)
->withErrors($errors, 'formulario')
->withInput();
}
public function authorize(){
return true;
}
}
Importar las clases Validator y MiFormulario al controlador HomeController.php
use App\Http\Requests\MiFormulario;
use Validator;
Agregamos el siguiente mtodo al controlador HomeControlador.php
public function validarMiFormulario(MiFormulario $formulario){
$validator = Validator::make(
$formulario->all(),
$formulario->rules(),
$formulario->messages()
);
if ($validator->valid()){
return "OK";
}
Ing. Ricardo Inquilla Quispe / ricardoinquilla@gmail.com / Cel: 9526397572/2
Universidad
Las Amricas
Framework Laravel
}
Enlazamos el mtodo anterior configurando con la siguiente ruta
Route::post("home/validarmiformulario", "HomeController@validarMiFormulario");
Realizamos una configuracion del archivo app.php para el funcionamiento correcto del
formulario
'Input' => Illuminate\Support\Facades\Input::class,
$("#error_nombre").html(data.nombre);
}
if (data.email !== undefined){
$("#error_email").html(data.email);
}
}
});
return false;
});
});
</script>
@stop
Miformulario.php
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class MiFormulario extends Request{
protected $redirect = "home/miformulario";
public function rules(){
return [
'nombre' => 'required|min:3|max:12|regex:/^[a-z]+$/i',
'email' => 'required|email',
];
}
public function messages(){
return [
'nombre.required' => 'El campo nombre es requerido',
'nombre.min' => 'El mnimo permitido son 3 caracteres',
'nombre.max' => 'El mximo permitido son 12 caracteres',
'nombre.regex' => 'Slo se aceptan letras',
'email.required' => 'El campo email es requerido',
'email.email' => 'El formato de email es incorrecto',
];
}
public function response(array $errors){
if ($this->ajax()){
return response()->json($errors, 200);
}
else
{
return redirect($this->redirect)
->withErrors($errors, 'formulario')
->withInput();
}
}
public function authorize(){
return true;
}
}
Modificamos el metodo validarmiFormulario del controlador HomeController.php
..
public function validarMiFormulario(MiFormulario $formulario){
$validator = Validator::make(
$formulario->all(),
$formulario->rules(),
$formulario->messages()
);
if ($validator->valid()){
if ($formulario->ajax()){
return response()->json(["valid" => true], 200);
}
else{
return redirect('home/miformulario')
->with('message', 'Enhorabuena formulario enviado correctamente');
}
}
}
http://localhost/holamundolaravel/public/home/miformulario