UnitInhabitantClassificationRequest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. use Illuminate\Validation\Rule;
  5. class UnitInhabitantClassificationRequest extends FormRequest
  6. {
  7. public function rules(): array
  8. {
  9. $id = $this->route('id');
  10. $unitId = $this->input('unit_id');
  11. return [
  12. 'unit_id' => ['required', 'integer', 'exists:units,id'],
  13. 'description' => ['required', 'string', 'max:150'],
  14. 'acronym' => [
  15. 'required',
  16. 'string',
  17. 'max:2',
  18. Rule::unique('unit_inhabitant_classifications', 'acronym')
  19. ->where('unit_id', $unitId)
  20. ->ignore($id),
  21. ],
  22. ];
  23. }
  24. public function messages(): array
  25. {
  26. return [
  27. 'unit_id.required' => 'A unidade é obrigatória.',
  28. 'unit_id.exists' => 'A unidade informada não existe.',
  29. 'description.required' => 'A descrição é obrigatória.',
  30. 'acronym.required' => 'A sigla é obrigatória.',
  31. 'acronym.max' => 'A sigla deve ter no máximo 2 caracteres.',
  32. 'acronym.unique' => 'Esta sigla já está em uso para esta unidade.',
  33. ];
  34. }
  35. }