2017-07-23 2 views
1

J'ai un modèle, et il a plusieurs noms de champs, et 'lastName' est parmi eux.Les règles de validation personnalisées de Laravel doivent être en minuscules?

Dans mon fichier FormRequest, j'ai des règles et des messages pour ce domaine:

$rules = ['lastName.*' => 'lastName_fail: index']; 
$messages = ['lastName.*lastName_fail' => This lastName has different value in DB!']; 

Lorsque je présente une forme, remplir le champ « lastName » avec intentionnellement la valeur « faux », il ne passe pas validation, et renvoie un message d'erreur:

validation.last_name_fail

(qui est pas ce qui est dans les messages $).

Mais quand je change $ les règles et les messages $ à:

$rules = ['lastName.*' => 'lastname_fail: index']; 
$messages = ['lastName.*lastname_fail' => This lastName has different value in DB!']; 

(de sorte que la "règle" est maintenant en minuscule "lastname_fail" réelle), il délivre ce que je veux:

Cette lastName a une valeur différente dans DB!

de ce que je peut en conclure que le nom de règle de validation de Laravel peut être que minuscules.

Est-il déclaré n'importe où dans la documentation?

Si oui, peut-être que cela aide quelqu'un.

Répondre

1

Il n'est pas mentionné dans la documentation. Toutefois, il existe un modèle de dénomination pour le nom de la méthode de la règle de validation et le nom de la règle.

Règle Nom de la méthode:

Il doit avoir le préfixe validate et le reste doit être Camel Case.

Nom de la règle:

Il sera lowercase sans le préfixe validate et chaque mot sera séparé par un underscore.


Donc, si vous voulez ajouter alpha_dash_spaces règle de validation puis la méthode correspondante sera nommé validateAlphaDashSpaces().

+0

Merci pour l'article utile, Zayn. Je pense que ce que vous avez cité de cet article concerne la dénomination des méthodes de validation, pas les noms de règles de validation. –

+0

@SergejFomin Il explique les deux. Cependant, j'ai élaboré la citation et mis à jour ma réponse :-) –