Validation conditionnelle Rails dans le modèle
J'ai un Rails de 3.2.18 application, où je suis en train de faire quelques conditionnelle de validation sur un modèle.
Dans l'appel du modèle il y a deux champs :location_id (qui est une association à une liste pré-définie) et :location_other (qui est un champ de texte où quelqu'un pourrait taper une chaîne de caractères ou dans ce cas une adresse).
Ce que je veux être en mesure de faire est d'utiliser des validations lors de la création d'un appel à l'endroit où le :location_id ou :location_other est validée pour être présent.
J'ai lu à travers les Rails de validations de guide et je suis un peu confus. Espérais que quelqu'un pourrait jeter une certaine lumière sur la façon de le faire facilement avec un conditionnel.
source d'informationauteur nulltek
Vous devez vous connecter pour publier un commentaire.
Je crois que c'est ce que vous cherchez:
location_id_or_other
est une coutume de la validation de la méthode qui vérifie silocation_id
etlocation_other
sont vides. Si ils sont tous les deux, puis il ajoute une erreur de validation. Si la présence delocation_id
etlocation_other
est un exclusif ouc'est à dire un seul des deux peut être présent, non, et non pas les deux, alors vous pouvez apporter la modification suivante à laif
bloc dans la méthode.Solution Alternative
Cette solution de (seulement) si la présence de
location_id
etlocation_other
est un ou exclusif.Découvrez la Rails De Guide De Validation pour plus d'informations.