如何禁用asp.net MVC中某些字段的客户端验证。 我没有为Order属性定义任何验证,但它在客户端显示“需要订单字段”。我想禁用订单的客户端验证。
public class Product
{
...
[Required(ErrorMessage = "Name Is Required")]
public String Name { get; set; }
public int Order { get; set; }
...
}
答案 0 :(得分:6)
int
是non nullable
类型。是不能分配空值,因此元数据提供程序自动使其成为必需。如果您的商家不需要为Order
类填写Product
字段,请将其设置为可空类型 - Nullable<int> Order
。这样,除非您明确指出,否则不需要它。
那么,还有另一种方法 - 在客户端使用一些脚本。但是这将仅在客户端禁用验证,在发布到服务器之后,除非您将其设为nullable
,否则仍会显示错误消息。假设你为asp.net mvc 3使用默认的jquery验证插件,你可以使用remove rules function
答案 1 :(得分:1)
我发现这个最简单的方法是使用?将值类型(在本例中为int)设置为可空值类型的字符:
public int?订单{get;组; }