隐藏和显示字段仍然使用ASP.NET MVC 2客户端验证来验证隐藏字段

时间:2010-04-27 21:14:04

标签: asp.net-mvc validation jquery-validate client-side

我有一个表单作为电子商务结帐流程的一部分,其中有一个帐单地址部分,允许用户使用他们的收货地址或填写表格中的地址。如果用户选择使用他们的递送地址,我不会显示地址字段。

我已经为所有字段添加了验证,然后在服务器端我检查选择了哪个选项,并删除现在隐藏的字段的任何验证错误。这在服务器站点上工作正常但我想使用MVC 2的客户端验证,并且需要某种方式在客户端执行相同操作。

我想要的是一种获取javascript验证以忽略任何隐藏字段的方法。有没有一种很好的方法可以做到这一点,还是一个黑客攻击MicrosoftMvcJQueryValidation.js文件的情况?

1 个答案:

答案 0 :(得分:3)

jQuery验证忽略隐藏的?

$("#myform").validate({
   ignore: ":hidden"
})

由于以下几个原因,可以将元素视为隐藏:

  • 它们的显示值为none。
  • 它们是type =“hidden”的表单元素。
  • 它们的宽度和高度明确设置为0.
  • 隐藏了一个祖先元素,因此页面上不会显示该元素。

来源:here