javascript - jquery密码验证

标签 javascript jquery html asp.net-mvc-4 jquery-validate

在我看来,我有 2 个密码字段:

   @Html.PasswordFor(m => m.Password)<br />
   @Html.PasswordFor(m => m.ConfirmPassword)<br />

现在我正在寻找一种在这两个字段上使用下面的 javascript 函数的方法。

function addCustomMessages() {
    $("#password_confirm").rules("add", {
        required: true,
        equalTo: "#password",
        messages: {
            required: "Herhaal uw wachtwoord",
            equalTo: "Enter the same password as above"
        }
    });
}

我如何告诉 @Html.PasswordFor(m => m.ConfirmPassword) 它需要使用 #password-confirm

编辑:

查看:

                   @Html.PasswordFor(m => m.Password, new { @id="password", @class = "equalTo" })<br />
                   @Html.PasswordFor(m => m.ConfirmPassword, new { @id="password_confirm", @class = "equalTo" })<br /> 

Javascript:

/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: NL (Dutch; Nederlands, Vlaams)
 */
(function ($) {
    $.extend($.validator.messages, {
        required: "Dit is een verplicht veld.",
        remote: "Controleer dit veld.",
        email: "Vul hier een geldig e-mailadres in.",
        url: "Vul hier een geldige URL in.",
        date: "Vul hier een geldige datum in.",
        dateISO: "Vul hier een geldige datum in (ISO-formaat).",
        number: "Vul hier een geldig getal in.",
        digits: "Vul hier alleen getallen in.",
        creditcard: "Vul hier een geldig creditcardnummer in.",
        equalTo: "Vul hier dezelfde waarde in.",
        accept: "Vul hier een waarde in met een geldige extensie.",
        maxlength: $.validator.format("Vul hier maximaal {0} tekens in."),
        minlength: $.validator.format("Vul hier minimaal {0} tekens in."),
        rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."),
        range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."),
        max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."),
        min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."),

        // for validations in additional-methods.js
        iban: "Vul hier een geldig IBAN in.",
        dateNL: "Vul hier een geldige datum in.",
        phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.",
        mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.",
        postalcodeNL: "Vul hier een geldige postcode in.",
        bankaccountNL: "Vul hier een geldig bankrekeningnummer in.",
        giroaccountNL: "Vul hier een geldig gironummer in.",
        bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in."
    });

    function addCustomMessages() {
        $("#password_confirm").rules("add", {
            required: true,
            equalTo: "#password",
            messages: {
                required: "Herhaal uw wachtwoord",
                equalTo: "Enter the same password as above"
            }
        });
    }

}(jQuery));

仍然无法为我工作,有人可以帮助我吗?

最佳答案

当你使用 html 助手时,它会生成一个 <input>当 cshtml 解析为 html 时为您标记。所以使用 #password_confirm因为ID不正确。如果您希望“password_confirm”成为您输入标签的 ID,请在 HTML 帮助器中指定使用 HTML 属性。

例如:

@Html.PasswordFor(m => m.ConfirmPassword, new{id="password_confirm"})

关于javascript - jquery密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16789101/

相关文章:

jquery - 在 Accordion 中构建自定义复选框

javascript - 如何将聊天机器人 html 文件链接到可点击的图像或按钮

html - 如何阻止 2 个 div 重叠?

javascript - 为什么函数getPrice()仅调用一次?

javascript - 关于更改 url 或加载 url 的 Jquery 问题

javascript - Angular.js 默认选择不适用于 ng-model

javascript - JQuery UI 拖放(获取 Draggable 值以显示和隐藏文本区域框)

Javascript:使用键盘浏览 DIV 列表

javascript - 如何在 jQuery 中将预加载的图像转换为 Base64 数据

html - 将 HTML 文档保存到磁盘