Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| devweb:laravel:validator:request [09-05-2017 21:29] – créée edmc73 | devweb:laravel:validator:request [21-08-2017 21:45] (Version actuelle) – edmc73 | ||
|---|---|---|---|
| Ligne 27: | Ligne 27: | ||
| Pour personnaliser le format du retour d' | Pour personnaliser le format du retour d' | ||
| <code php> | <code php> | ||
| + | use Illuminate\Contracts\Validation\Validator; | ||
| + | |||
| + | // | ||
| + | |||
| protected function formatErrors(Validator $validator) | protected function formatErrors(Validator $validator) | ||
| { | { | ||
| return $validator-> | return $validator-> | ||
| } | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | Pour forcer la réponse en json si on a été authentifié via un token | ||
| + | <code php> | ||
| + | public function response(array $errors) | ||
| + | { | ||
| + | if (Auth:: | ||
| + | return response()-> | ||
| + | } | ||
| + | return $this-> | ||
| + | -> | ||
| + | -> | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | Des rules plus complexe | ||
| + | |||
| + | <code php> | ||
| + | use Illuminate\Validation\Rule; | ||
| + | |||
| + | // | ||
| + | public function rules() | ||
| + | { | ||
| + | $list_ids=List:: | ||
| + | return [ | ||
| + | " | ||
| + | " | ||
| + | Rule::in( $list_ids ), | ||
| + | ], | ||
| + | ]; | ||
| + | } | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | Validation custom à placer dans **app/ | ||
| + | <code php> | ||
| + | // Lorsque vous passez un array, pour s' | ||
| + | |||
| + | Validator:: | ||
| + | if(collect($value)-> | ||
| + | return true; | ||
| + | return false; | ||
| + | }, "The sum of the percentages of each message must be 100"); | ||
| + | |||
| + | // ici on a un array en entrée avec des ids dans la clé du array | ||
| + | // on veut comparer cette liste à une table et retourner en erreur les ids qui n' | ||
| + | Validator:: | ||
| + | |||
| + | $ids=array_keys($value); | ||
| + | $message_ids = \App\Models\Message:: | ||
| + | -> | ||
| + | $diff=array_diff($ids, | ||
| + | if(count($diff)==0) | ||
| + | return true; | ||
| + | |||
| + | $validator-> | ||
| + | return str_replace(': | ||
| + | }); | ||
| + | return false; | ||
| + | |||
| + | }, " | ||
| + | |||
| </ | </ | ||