我在ASP.NET MVC 3中使用客户端验证的[必需]属性。
班级看起来像:
我希望只有在可见的情况下才能验证字段FirstName,只有在某些条件下才会显示。我怎样才能做到这一点?
我已经使用了以下内容,但是它仍然需要验证该隐藏字段的必填字段。
- $('#registerForm').validate({ ignore: ":not(:visible)" });
解决方法
来自@Josiah的一些有用的提示,我能够达到我的要求。
添加requiredIfAttribute类和所需的javascript。参考Conditional Validation in ASP.NET MVC 3
在aspx中
- @Html.TextBoxFor(model => Model.FirstName,new { @style = "height:auto;" })
- @Html.ValidationMessageFor(model => Model.FirstName)
- @Html.Hidden("hFirstName")
如果FirstName字段被隐藏,则将hFirstName的值设置为“true”,如果可见,则将其设置为“false”。
魔法与这些变化有关。感谢@Josiah Ruddell为他的answer