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 23:29] edmc73 créée |
devweb:laravel:validator:request [21-08-2017 23: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; | ||
+ | |||
+ | }, " | ||
+ | |||
</ | </ |