smoya/app/Http/Requests/StoreDenunciasRequest.php

63 lines
2.2 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreDenunciasRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/',
'apellido' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/',
'dni' => 'required|numeric|digits_between:7,8|unique:denuncias,dni_denunciante',
'fecha' => 'required|date',
'tipo' => 'required|max:100',
'descripcion' => 'required|max:1000',
'lugar' => 'required|max:100',
];
}
/**
* Mensajes personalizados de validación.
*/
public function messages(): array
{
return [
'nombre.required' => 'El campo nombre es requerido',
'nombre.regex' => 'El campo nombre sólo debe contener letras',
'apellido.required' => 'El campo apellido es requerido',
'apellido.regex' => 'El campo apellido sólo debe contener letras',
'dni.required' => 'El campo DNI es requerido',
'dni.numeric' => 'El campo DNI sólo admite números',
'dni.digits_between' => 'El campo DNI debe tener entre 7 y 8 dígitos',
'dni.unique' => 'El DNI ya se encuentra registrado en otra denuncia',
'fecha.required' => 'El campo fecha es requerido',
'fecha.date' => 'La fecha ingresada no es válida',
'tipo.required' => 'El campo tipo es requerido',
'tipo.max' => 'El tipo no puede superar los 100 caracteres',
'descripcion.required' => 'El campo descripción es requerido',
'descripcion.max' => 'La descripción no puede superar los 1000 caracteres',
'lugar.required' => 'El campo lugar es requerido',
'lugar.max' => 'El lugar no puede superar los 100 caracteres',
];
}
}