Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC 5数据注释“;“不等于零”;_C#_Asp.net Mvc_Data Annotations - Fatal编程技术网

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; }