| @@ 19-36 (lines=18) @@ | ||
| 16 | * |
|
| 17 | * @return \Illuminate\Validation\Validator |
|
| 18 | */ |
|
| 19 | public static function create(array $data): Validator |
|
| 20 | { |
|
| 21 | $categories = DiscussCategory::pluckLocked('id'); |
|
| 22 | ||
| 23 | $rules = [ |
|
| 24 | 'title' => 'required|min:5', |
|
| 25 | 'category_id' => [ |
|
| 26 | 'required', |
|
| 27 | 'integer', |
|
| 28 | Rule::in($categories->toArray()) |
|
| 29 | ], |
|
| 30 | 'slug' => 'unique:discuss_conversations', |
|
| 31 | 'content' => 'required|min:10' |
|
| 32 | ]; |
|
| 33 | $data['slug'] = Slug::fromTitle($data['title']); |
|
| 34 | ||
| 35 | return FacadeValidator::make($data, $rules); |
|
| 36 | } |
|
| 37 | ||
| 38 | /** |
|
| 39 | * Get a validator for an incoming update request. |
|
| @@ 46-64 (lines=19) @@ | ||
| 43 | * |
|
| 44 | * @return \Illuminate\Validation\Validator |
|
| 45 | */ |
|
| 46 | public static function update(array $data, int $id): Validator |
|
| 47 | { |
|
| 48 | $categories = DiscussCategory::pluckLocked('id'); |
|
| 49 | ||
| 50 | $rules = [ |
|
| 51 | 'title' => 'required|min:5', |
|
| 52 | 'category_id' => [ |
|
| 53 | 'required', |
|
| 54 | 'integer', |
|
| 55 | Rule::in($categories->toArray()) |
|
| 56 | ], |
|
| 57 | 'slug' => [ |
|
| 58 | Rule::unique('discuss_conversations')->ignore($id) |
|
| 59 | ] |
|
| 60 | ]; |
|
| 61 | $data['slug'] = Slug::fromTitle($data['title']); |
|
| 62 | ||
| 63 | return FacadeValidator::make($data, $rules); |
|
| 64 | } |
|
| 65 | } |
|
| 66 | ||