yii validation uniquement si un autre champ est présent
J'ai deux champs dans mon formulaire nommé start date
et end date
. Je veux valider end date
seulement si start date
est présent.
Dans les rails, nous avons :if
. Nous n'avons rien de semblable dans yii
?
Je viens de terminer ce genre de validation avec Yii. vous pouvez consulter ici. chevronscode.com/index.php/...
Dans Yii2 vous pouvez utiliser le
Dans Yii2 vous pouvez utiliser le
when
de la propriété.OriginalL'auteur robert | 2012-03-03
Vous devez vous connecter pour publier un commentaire.
Définir votre fonction personnalisée pour la validation .
définir la règle :
définir la fonction personnalisée:
OriginalL'auteur Onkar Janwa
la validation d'un champ en fonction d'autres peuvent être faits dans les règles de modèle de méthode .
Voici les règles de la méthode.
J'espère que cela va vous aider.
Vous devez prendre soin de validation du client, ou de l'inhiber l'ajout de l'élément
'enableClientValidation'=>false
le tableau ci-dessusOriginalL'auteur Pramod Yadav
Pour les paresseux, ajouter la condition de validation du modèle de
beforeValidate
méthode:OriginalL'auteur dRocking
Vous pouvez utiliser
validate()
méthode pour valider les attributs individuellement, de sorte que vous pouvez d'abord validerstart_date
et passez de validation si il y a des erreurs avec elle, quelque chose comme:Sinon vous pouvez aussi utiliser le
skipOnError
attribut de CValidator classe:Espère que cette aide.
Disclaimer: je ne suis pas sûr de la skipOnError solution, il pourrait être affectée par l'ordre des validateurs, vous pouvez le tester (je n'ai pas encore testé), et savoir si cela fonctionne. La validation individuelle solution de cours toute la journée.
OriginalL'auteur bool.dev