Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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数据注释正则表达式不允许空白和逗号_C#_Asp.net Mvc_Data Annotations - Fatal编程技术网

C# MVC数据注释正则表达式不允许空白和逗号

C# MVC数据注释正则表达式不允许空白和逗号,c#,asp.net-mvc,data-annotations,C#,Asp.net Mvc,Data Annotations,我的模型类中有一个属性用户名,我想对其进行验证,以限制用户输入任何空格或逗号。目前只使用以下正则表达式限制空白,但我也要限制逗号。请建议 [Required] [Display(Name = "UserName")] [RegularExpression(@"^\S*$", ErrorMessage = "Username Cannot Have Spaces")] public string UserName { get; set; } 试试下面的正则表达式,它匹配空格和逗号

我的模型类中有一个属性用户名,我想对其进行验证,以限制用户输入任何空格或逗号。目前只使用以下正则表达式限制空白,但我也要限制逗号。请建议

[Required]
[Display(Name = "UserName")]        
[RegularExpression(@"^\S*$", ErrorMessage = "Username Cannot Have Spaces")]
public string UserName { get; set; }

试试下面的正则表达式,它匹配空格和逗号

^[^\s\,]+$

这一个不允许逗号和空格

^[^\s\,]*$

看起来它正在恢复。除非我输入逗号或空格,否则它将抛出验证错误。一旦我编辑了任何白色或逗号,验证就通过了。令人惊讶的是,如果我现在使用常规表单提交技术,验证似乎不起作用。之前我使用的是ajax,在本例中效果很好。有什么想法吗?@ammarkhan猜测,这与实现
表单相关。您能提供其他信息吗?实际上,我在同一个字段上也有一个自定义属性,看起来是在正则表达式有机会验证输入之前首先执行的属性。@AmmarKhan可能是验证不起作用的原因,是MVC特定的细节。你可以充分描述你的背景并提出新问题。被接受的答案很可能与你的解决方案相匹配。无论如何,谢谢。可能是“+”而不是“*”@tchelidze,RegularExpression属性不应该检查是否为空。这里的必需属性就是为了这个目的。@SandRock Nice,我不知道。