【问题标题】:Jquery validation not working for strong password in mvc5Jquery验证不适用于mvc5中的强密码
【发布时间】:2017-06-05 01:57:27
【问题描述】:

您好,我正在使用 jquery 在 mvc5 中开发一个应用程序。我正在尝试为密码实现正则表达式,如下所示。 这是 jquery.validationEngine-en.js 中的一段代码

"requiredOutLogin": {
                    "regex":/^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$/,
                    "alertText": "*Password should contain atleast one special character,one number and one upper case letter",
                    "alertTextCheckboxMultiple": "* Please select an option",
                    "alertTextCheckboxe": "* This checkbox is required",
                    "alertTextDateRange": "* Both date range fields are required"
                },

这是我的剃刀视图代码。

 @Html.TextBoxFor(model => model.usr_username, new { id = "txtusername", @maxlength = "15",@minlength="8",@class = "form-control validate[requiredOutLogin] text-input", @placeholder = "Username" })

我无法在此处验证密码。如果我将密码字段留空,那么它将弹出所需的消息(*密码应至少包含一个特殊字符、一个数字和一个大写字母),但如果我输入只是测试,那么它将登录(如果密码正确)。上面的正则表达式不是验证,但如果我将该字段保留为空白,它将显示 alertText。我从Regex to validate password strength 复制了正则表达式。我可以知道为什么我无法在这里验证吗?任何帮助,将不胜感激。谢谢。

【问题讨论】:

  • 您是否有理由不在您的财产和 jquery 验证上使用 [RegularExpression]
  • 谢谢。我没有进行任何服务器端验证。
  • 为什么不呢?您必须始终在服务器上进行验证(任何人都可以绕过您的脚本)
  • 我同意。出于安全目的,我可以在服务器端对其进行验证。但在这里我也试图验证。
  • 如下更改后开始正常工作。 @class= “表单控件验证 [custom[requiredOutLogin]] 文本输入”。感谢您尝试帮助我斯蒂芬·穆克先生。祝你有美好的一天。

标签: jquery validation asp.net-mvc-5


【解决方案1】:

只需从文本框中删除 Id 属性。

强类型的 html 助手会自动将带有模型属性名称的 Id="" name="" 属性分配给每个文本框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2012-01-12
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多