CountryRequest.php 811 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. use App\Enums\DefaultStatusEnum;
  5. use Illuminate\Validation\Rule;
  6. class CountryRequest extends FormRequest
  7. {
  8. public function rules(): array
  9. {
  10. $rules = [
  11. 'name' => 'sometimes|string|max:255|unique:countries,name',
  12. 'code' => 'sometimes|string|min:2|max:3|unique:countries,code',
  13. 'status' => ['sometimes', Rule::enum(DefaultStatusEnum::class)],
  14. ];
  15. if ($this->isMethod('post')) {
  16. $rules['name'] = 'required|string|max:255|unique:countries,name';
  17. $rules['code'] = 'required|string|min:2|max:3|unique:countries,code';
  18. $rules['status'] = ['required', Rule::enum(DefaultStatusEnum::class)];
  19. }
  20. return $rules;
  21. }
  22. }