Have: Using ASP.NET MVC 2, DataAnnotationsModel based server validation, and client validation with jQuery. Anything in my model is validated perfectly on the client with jQuery based validation (jQuery.validate and MicrosoftMvcJQueryValidation.js).
Need: Adding an additional HTML <input type="checkbox" id="terms" /> to my form. I need jQuery validation to require that this checkbox is checked AND somehow hook it in with whatever jQuery client script MVC is automagically controlling. Yes, I know it won’t validate on the server side, but I don’t need or want it to.
Seems like it should be simple but I’m new to MVC, a total beginner at jQuery, and my searches have been coming up blank.
Any help would be appreciated!
Might I suggest using a ViewModel for every View (put all of your dataannotations in there). Then you can create a boolean model property for your checkbox and set it to required.
From there, if you’re posting the model back to the controller, you can simply use AutoMapper to map the ViewModel to the needed model, or simply map the properties yourself.
Either way, it is good practice to use a ViewModel for every view. Remember a ViewModel’s job is to try and contain everything required in the view. This definitely means that it can and will have other data that is not required in the Model.