2011-05-26 6 views
6

Je travaille sur une page MVC qui nécessite une validation conditionnelle.Validation conditionnelle ASP.net MVC

Lorsqu'un utilisateur sélectionne un pays dans une liste déroulante, s'il sélectionne l'un des deux pays spécifiques, une boîte contenant deux zones de texte est alors affichée. Je voudrais activer la validation dans ce cas, et s'ils sélectionnent un autre pays, la case est masquée et la validation sera désactivée.

Actuellement, sur le site que je n'ai pas construit, il existe une classe de validation séparée (qui hérite de ValidationSet) qui gère toutes les validations pour ce contrôleur, et les valide avec des commandes telles que ValidatePresence, ValidateDecimal et ValidateExpression. Je voudrais m'en tenir à ce format pour la cohérence. par exemple.

new ValidatePresence("countryId") {ErrorMessageFormat = "Please supply a country for delivery to"} 

Vous avez des idées? Merci

+0

quelle version de mvc vous utilisez? –

Répondre

1

Mes excuses ici - je d'abord bien ValidatePresence, ValidateDecimal etc étaient des contrôles de validation au sein de MVC, mais il a découvert que ce sont des classes personnalisées. J'ai maintenant modifié ceux-ci pour faire ce qui était requis.

Merci pour votre temps de toute façon

3

Y at-il quelque chose qui ne va pas w/avoir juste un autre validateur comme, "ValidateConditionalPresence" ou similaire, alors l'avoir faire ce que vous avez dit? à savoir

return dropdown == false || (!string.IsNullOrWhitespace(box1) && !string.IsNullOrWhitespace(box2));