Est-il possible de faire exécuter les validations de mon modèle de rails dans un ordre particulier et d'ignorer certaines validations si les validations précédentes ne sont pas satisfaites?validation de validation de modèle de rails et commande
Par exemple: J'ai 2 champs d'entrée start_date et end_date. J'ai deux méthodes validate dans mon modèle
L'un d'eux vérifie les dates sont moins "12/31/# {Date.today.year + 1}"
def end_date_in_range
if self.end_date
errors.add_to_base("Enter a date before #{Date.today.year + 1}") if self.end_date > Date.parse("12/31/#{Date.today.year + 1}")
end
end
J'ai une autre validation qui étapes à travers les dates de la date de début à la date de fin
def
(self.start_date.to_date .. self.end_date.to_date).inject(0) { |sum, n| ... }
end
maintenant, si l'utilisateur entre un date_fin comme 12/31/20101, cela échoue la première validation, mais ressemble non plus continue de vérifier la prochaine validation ou la deuxième validation est exécuté en premier et dans les deux cas, il bloque mon application pendant le processus cette demande. Je voudrais qu'il vérifie la première validation et renvoie l'erreur à l'utilisateur et ne franchisse pas les dates dans la deuxième validation.
grâce, cendres