web-dev-qa-db-fra.com

Obtenir un message d'erreur de Laravel validation

J'utilise le validateur intégré Laravel et je souhaite obtenir le premier message d'erreur

if ($validator->fails()) {
     $error = $validator->messages()->toJson();
     .....
}

C'est le résultat quand j'imprime une erreur

{"name":["The name must be at least 5 characters."],"alamat":["The address must be at least 5 characters."]}

Dans l'exemple ci-dessus, je souhaite obtenir la première erreur, à savoir "Le nom doit comporter au moins 5 caractères". Comment puis je faire ça?

5
ZZZ

Essaye ça: 

if ($validator->fails()) {
   $error = $validator->errors()->first();
}
10
rome 웃

Dans votre demande ajax, lorsque vous obtenez la data, essayez data.name

Cela vous donnera le message d'erreur pour le champ name

$.ajax({
        url: "/your-save-url",
        type: "post",
        data: serializedData,
        success: function(data) { alert(data.name)}
    });
1
Jilson Thomas

Si la validation échoue, la méthode withErrors peut être utilisée pour envoyer les messages d'erreur à la session. Ceci est un tableau et cette méthode partagera automatiquement $errors avec toutes les vues après redirection.

return redirect('register')->withErrors($validator, 'login');

La variable MessageBag peut être consultée à l'aide de l'instance de la variable $errors:

{{ $errors->login->first('email') }}

API de formulaire docs

J'espère que c'est utile.

1
ArtisanBay