Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Jquery ASP.NET MVC密码验证程序不';t警告客户端的一些强制性要求?_Jquery_Validation_Asp.net Mvc 5_Passwords_Unobtrusive Validation - Fatal编程技术网

Jquery ASP.NET MVC密码验证程序不';t警告客户端的一些强制性要求?

Jquery ASP.NET MVC密码验证程序不';t警告客户端的一些强制性要求?,jquery,validation,asp.net-mvc-5,passwords,unobtrusive-validation,Jquery,Validation,Asp.net Mvc 5,Passwords,Unobtrusive Validation,我使用的是ASP.NETMVC5,它连接了一个不引人注目的验证器,用于客户端的开箱即用验证。我通过以下方式设置我的IdentityConfig.cs: manager.PasswordValidator = new PasswordValidator { RequiredLength = 8, RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, Requ

我使用的是ASP.NETMVC5,它连接了一个不引人注目的验证器,用于客户端的开箱即用验证。我通过以下方式设置我的
IdentityConfig.cs

manager.PasswordValidator = new PasswordValidator
{
    RequiredLength = 8,
    RequireNonLetterOrDigit = true,
    RequireDigit = true,
    RequireLowercase = true,
    RequireUppercase = true,
};
当密码不太长时,客户端验证会正确发出警告。但它似乎没有验证其余的标准(至少一个数字,至少在大写字母上,至少一个小写字母上,甚至没有提到特殊字符)。在我的用例中,在客户端使用这些是很重要的


启用这些额外检查的最佳方法是什么?我应该设置自己的非突兀验证规则吗?这将如何干扰不引人注目的验证?

在您的属性中添加一个
RegularExpressionAttribute
。根据斯里尼瓦斯的回答,以下内容应符合您的规则

[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}", ErrorMessage = "...")]
public string Password { get; set; }
在我看来

@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m =>m.Password)

您只需使用应用于property@StephenMuecke谢谢,这是一个非常好的线索!我正在尝试
[RegularExpression(@“^(.{0,7}|[^0-9]*.[^A-Z]*.[A-zA-Z0-9]*)$,“密码必须至少有…”
但它似乎没有触发。该正则表达式与您想要的不匹配。我怀疑您想要第四个正则表达式?@StephenMuecke您可以添加您的建议作为答案。上面的反向逻辑表达式不起作用,当我使用
“^((?=.*\d)(?=.[A-Z])(?=.[A-Z])(?=.[A-Z])(?=\W.{8,}$”
验证触发并起作用