C# MVC 5数据注释“;“不等于零”;
可能我遗漏了一些东西,但是有下面的模型C# MVC 5数据注释“;“不等于零”;,c#,asp.net-mvc,data-annotations,C#,Asp.net Mvc,Data Annotations,可能我遗漏了一些东西,但是有下面的模型 public class MyModel { public double WhateverButNotZero { get; set; } } 是否有任何MVC内置DataAnnotation将数字验证为“除零以外的所有内容”尝试使用regex annotation public class MyModel { [RegularExpression("^(?!0*(\.0+)?$)(\d+|\d*\.\d+)$", ErrorMe
public class MyModel
{
public double WhateverButNotZero { get; set; }
}
是否有任何MVC内置DataAnnotation将数字验证为“除零以外的所有内容”尝试使用
regex annotation
public class MyModel
{
[RegularExpression("^(?!0*(\.0+)?$)(\d+|\d*\.\d+)$", ErrorMessage = "Not Equal to Zero")]
public double WhateverButNotZero { get; set; }
}
您可以使用RegularExpression DataAnnotation属性
[RegularExpression(@"^\d*[1-9]\d*$")]
public double WhateverButNotZero { get; set; }
希望它能帮助您根据需要找到正则表达式。是所有可用DataAnnotation属性的列表。快速回答:没有,没有。没有内置的
ValidationAttribute
,但是您可以使用[NotEqualTo]
属性,或者如果您想学习编写自己的条件验证属性,请参考,谢谢您的回答,但我要查找的是“除零以外的任何数字”。这意味着微负或微正应该被接受,比如-0.0001,-0.0000000000001,0.0123,等等。在这种情况下,我认为“^[+-]([0-9]\.\d+)|([1-9]\d*\.?\d*)$”,这个正则表达式将很有用,它将允许微负或微正整数。@SBFrancis,你的答案很好,但它在某些情况下接受字母,例如:但对于双数据类型,这是不可能的。
[RegularExpression(@"^\d*[1-9]\d*$")]
public double WhateverButNotZero { get; set; }