InhabitantClassificationRequest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. use Illuminate\Validation\Rule;
  5. class InhabitantClassificationRequest extends FormRequest
  6. {
  7. public function rules(): array
  8. {
  9. $id = $this->route('id');
  10. $rules = [
  11. 'description' => ['sometimes', 'string', 'max:150'],
  12. 'acronym' => [
  13. 'sometimes',
  14. 'string',
  15. 'max:2',
  16. Rule::unique('inhabitant_classifications', 'acronym')->ignore($id),
  17. ],
  18. ];
  19. if ($this->isMethod('post')) {
  20. $rules['description'][0] = 'required|string|max:150';
  21. $rules['acronym'][0] = [
  22. 'required',
  23. 'string',
  24. 'max:2',
  25. Rule::unique('inhabitant_classifications', 'acronym')->ignore($id),
  26. ];
  27. }
  28. return $rules;
  29. }
  30. public function messages(): array
  31. {
  32. return [
  33. 'description.required' => 'A descrição é obrigatória.',
  34. 'acronym.required' => 'A sigla é obrigatória.',
  35. 'acronym.max' => 'A sigla deve ter no máximo 2 caracteres.',
  36. 'acronym.unique' => 'Esta sigla já está em uso.',
  37. ];
  38. }
  39. }