Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.net MVC conditional validation

Tags:

c#

asp.net-mvc

I'm working on an MVC page that requires conditional validation.

When a user selects a country from a dropdownlist, if they select one of two specific countries, then a box is displayed containing two text boxes which are required. I would like validation to activate in this case, and if they select any other country, then the box is hidden and validation will be deactivated.

Currently on the site, which I didn't build, there is a separate validation class (which inherits from ValidationSet) that handles all validation for that controller, and they validate with commands like ValidatePresence, ValidateDecimal, and ValidateExpression, so I would like to stick to that format for consistency. e.g.

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

Anyone got any ideas? Thanks

like image 487
e-on Avatar asked May 26 '11 13:05

e-on


1 Answers

Is there anything wrong w/ just having another validator like, "ValidateConditionalPresence" or the like, then having it do what you said? i.e.

  return dropdown == false || (!string.IsNullOrWhitespace(box1) && !string.IsNullOrWhitespace(box2));
like image 94
Paul Avatar answered Oct 13 '22 21:10

Paul