jquery - ASP.NET MVC 密码验证器不会警告客户端的某些强制要求?

标签 jquery validation asp.net-mvc-5 passwords unobtrusive-validation

我正在使用 ASP.NET MVC5,它具有不显眼的验证器,用于开箱即用的客户端验证。我这样设置我的 IdentityConfig.cs:

manager.PasswordValidator = new PasswordValidator
{
    RequiredLength = 8,
    RequireNonLetterOrDigit = true,
    RequireDigit = true,
    RequireLowercase = true,
    RequireUppercase = true,
};

当密码不太长时,客户端验证会正确发出警告。但它似乎没有对其余标准进行验证(至少一位数字,至少大写字母,至少一个小写字母,甚至不谈论特殊字符)。在我的用例中,将这些放在客户端非常重要。

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

最佳答案

RegularExpressionAttribute 添加到您的属性中。基于斯里尼瓦斯对 Regex for Password Must be contain at least 8 characters, least 1 number and both lower and uppercase letters and special characters 的回答,以下内容应该适合您的规则

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

并在 View 中

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

关于jquery - ASP.NET MVC 密码验证器不会警告客户端的某些强制要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42082366/

相关文章:

jquery - 保持导航链接处于事件状态

Jquery 获取先前输入文本字段的值

javascript - 在 jQuery 中只选择整个 css 类的一个 div

c# - MVC 5 + $Post() 函数在服务器上托管后无法正常工作

jQuery 和 CSS 动画问题(图像 Accordion )

c# - WPF:验证确认密码

javascript - 无法使用数字键盘输入数字

ruby-on-rails - 自定义 Rails 验证 - 同时多个字段

asp.net-mvc - 带有 ASP.Net Identity 的 ASP.NET MVC5 中的自定义验证和角色提供者

angular - 如何从 visual studio 2015 update 3 的构建中排除 node_module 文件夹