J'ai donc une demande de formulaire qui a des règles de validation et certains messages.
Ceci est ma fonction dans le contrôleur (appelé via VUE.AXIOS) P>
public function authorize(): bool { return $this->user()->role === 'administrator'; } public function rules(): array { return [ 'subject' => 'required', 'date' => 'nullable|date_format:Y-m-s', 'user' => 'nullable|exists:users,id', 'task_list_id' => 'required|exists:task_lists,id', 'privacy' => 'array', ]; } public function messages() { return [ 'subject.required' => __("Task name is empty") ]; }
3 Réponses :
Qu'est-ce qui se passe lorsque vous vous supprimez ( messages () code> fonction? p>
date_format: y-m-s code> semble faux, ne devrait-il pas être
date_format: y-m-d code>?) p>
Ensuite, il renvoie le "nom de la tâche de base requis" ou quoi que ce soit en plus de "les données données non valides". Oui, il y avait une faute de frappe à la date :) Ce n'est pas nécessaire pour que je ne remplisse même aucune date.
Êtes-vous sûr que le __ ("nom de la tâche est vide") code> SI renvoie quelque chose? Votre fichier JSON de langue est-il correct?
Il fait - le système de langue de cette application est bizarre, mais cela fonctionne. Le problème est uniquement avec "Les données données sont invalides" Réponse du message JSON.
Le validateur jette un illuminate \ validation \ validationfception code> que vous pouvez intercepter dans le
app \ exceptions \ manutention-> rendu () code> avant qu'il ne soit envoyé à la classe mère Dans le vendeur.
public function failedValidation(\Illuminate\Contracts\Validation\Validator $validator)
{
throw (new \Illuminate\Validation\ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl());
}
Mais y a-t-il un moyen d'intercepter et d'annuler la réponse entière uniquement pour ce formerquest particulier
@Maximilianberbechelov a édité la réponse. Vous pouvez intercepter l'erreur par formequest si vous en avez besoin. Ce qui est à l'intérieur de la méthode est le résultat par défaut mis en œuvre par Laravel
Je me débattais aussi avec le même problème. Vous obtiendriez «Les données données sont invalides» Erreur si votre code de validation est en train d'essayer Block. Supprimez-le d'essayer le bloc et vous obtiendrez une réponse d'erreur appropriée lorsque Laravel donne. P>