Perform validation on hidden fields
asp.net-mvc, asp.net-mvc-3, jquery, validation
Solution
The possible reason can be that there is `ignore: ':hidden'` line in `jquery.validate.unobtrusive.js` file.
After 1.9.0 version it is a default behaviour. You can fix that manually by adding
$.validator.setDefaults({ ignore: [] });
As you can see here
Another change should make the setup of forms with hidden elements easier, these are now ignored by default (option “ignore” has “:hidden” now as default). In theory, this could break an existing setup. In the unlikely case that it actually does, you can fix it by setting the ignore-option to “[]” (square brackets without the quotes).
Problem
I have the view below: ``` @Html.LabelFor(m => m.CompanyPostCode) @Html.TextBoxFor(m => m.CompanyPostCode) @Html.LabelFor(m => m.CompanyCity) @Html.TextBoxFor(m => m.CompanyCity) @Html.HiddenFor(m => m.CompanyCityID) ``` All attributes are marked as [Required] in my view model. Then problem is that my CompanyCityID (marked as Required) is hidden and thus no validation is done in the view. If I show this attribute in my view the validation is done. My question: is it possible to perform a validation on a hidden field? A workaround exist? It may seems a little strange to validate a hidden field. The reason is that this field is filled from jQuery based on special rules. If it is not filled, I know something is not valid on the view. Thanks.