【问题标题】:How can I disable client validation for some fields in asp.net MVC如何禁用asp.net MVC中某些字段的客户端验证
【发布时间】:2011-07-02 11:47:20
【问题描述】:
如何禁用对 asp.net MVC 中某些字段的客户端验证。
我没有为 Order 属性定义任何验证,但它在客户端中显示“需要 Order 字段”。我想禁用 Order 的客户端验证。
public class Product
{
...
[Required(ErrorMessage = "Name Is Required")]
public String Name { get; set; }
public int Order { get; set; }
...
}
【问题讨论】:
标签:
asp.net
asp.net-mvc
validation
【解决方案1】:
int 是 non nullable 类型。不能为 Is 分配空值,因此元数据提供程序会自动使其成为必需。如果您的企业不需要为Product 类填写Order 字段,请将其设为可空类型-Nullable<int> Order。这样,除非您明确提出,否则它不会成为必需的。
好吧,还有另一种方法 - 在客户端使用一些脚本。但这只会在客户端禁用验证,在发布到服务器后,错误消息仍然会出现,除非您将其设为nullable。假设您使用 asp.net mvc 3 的默认 jquery 验证插件,您可以使用 remove rules function
【解决方案2】:
我发现的最简单的方法是使用 ?将值类型(在本例中为 int)设置为可空值类型的字符:
公共整数?订购{得到;放; }