diff --git a/app/Http/Requests/Repuve/ModuleStoreRequest.php b/app/Http/Requests/Repuve/ModuleStoreRequest.php index d3e3220..0bf80ac 100644 --- a/app/Http/Requests/Repuve/ModuleStoreRequest.php +++ b/app/Http/Requests/Repuve/ModuleStoreRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Repuve; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class ModuleStoreRequest extends FormRequest { @@ -14,7 +15,7 @@ public function authorize(): bool public function rules(): array { return [ - 'name' => ['required', 'string', 'max:255'], + 'name' => ['required', 'string', 'max:255', Rule::unique('modules', 'name')], 'responsible_id' => ['required', 'exists:users,id'], 'municipality_id' => 'required|exists:municipalities,id', 'address' => ['required', 'string', 'max:255'], @@ -31,7 +32,8 @@ public function messages(): array return [ 'name.required' => 'El nombre del módulo es requerido', 'name.string' => 'El nombre debe ser una cadena de texto', - 'name.max' => 'El nombre no debe superar los 255 caracteres', + 'name.max' => 'El nombre no debe superar los 255 caracteres', + 'name.unique' => 'Ya existe un módulo con ese nombre.', 'municipality_id.required' => 'El municipio es requerido', 'address.required' => 'La dirección es requerida', 'address.string' => 'La dirección debe ser una cadena de texto', diff --git a/app/Http/Requests/Repuve/ModuleUpdateRequest.php b/app/Http/Requests/Repuve/ModuleUpdateRequest.php index 4db2511..0a14a4e 100644 --- a/app/Http/Requests/Repuve/ModuleUpdateRequest.php +++ b/app/Http/Requests/Repuve/ModuleUpdateRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Repuve; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class ModuleUpdateRequest extends FormRequest { @@ -14,7 +15,7 @@ public function authorize(): bool public function rules(): array { return [ - 'name' => ['nullable', 'string', 'max:50'], + 'name' => ['nullable', 'string', 'max:50', Rule::unique('modules', 'name')->ignore($this->route('module'))], 'municipality_id' => ['nullable', 'integer', 'exists:municipalities,id'], 'responsible_id' => ['nullable', 'integer', 'exists:users,id'], 'address' => ['nullable', 'string', 'max:50'], @@ -30,6 +31,7 @@ public function messages(): array { return [ 'name.string' => 'El nombre debe ser texto', + 'name.unique' => 'Ya existe un módulo con ese nombre.', 'name.max' => 'El nombre no debe superar los 50 caracteres', 'municipality_id.integer' => 'El municipio debe ser un número entero', 'municipality_id.exists' => 'El municipio seleccionado no existe', diff --git a/lang/es/validation.php b/lang/es/validation.php index 40f04a3..f69833c 100644 --- a/lang/es/validation.php +++ b/lang/es/validation.php @@ -156,6 +156,7 @@ 'maternal' => 'apellido materno', 'email' => 'correo', 'phone' => 'teléfono', + 'responsible_id' => 'responsable', 'box_number' => 'número de caja', 'lot' => 'lote', 'starting_page' => 'página inicial',