javascript - 我如何使用 Jquery Validate 来验证密码而不是要求它?

标签 javascript jquery jquery-plugins jquery-validate

我想知道是否有人使用 Jquery 验证密码插件 ( http://bassistance.de/jquery-plugins/jquery-plugin-password-validation/ ) 来验证密码但不要求它们。

就我而言,我正在整理一个编辑用户表单。没有密码就不能存在用户。因此,当管理员编辑用户时,我知道密码已经过验证并分配给了用户。

我希望管理员能够提交表单并将密码字段留空。这意味着密码未更改。但是,如果管理员确实想更改密码,我想使用 jquery validate password(上面链接)来验证密码。

在我的 html 中 <head> ,我有:

<script src="/Scripts/Common/jquery.js" type="text/javascript"></script>
<script src="/Scripts/Common/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/Common/jquery-validate.password/jquery.validate.password.js" type="text/javascript"></script>
<link href="/Scripts/Common/jquery-validate.password/jquery.validate.password.css" rel="stylesheet" type="text/css" />
<script>
    $(document).ready(function() {
        $("#edit").validate();
        $("#password").valid();
    });
</script>

并且在 form字段(在 Razor 和 MVC 语法中):

@using (Html.BeginForm("Edit", "User", FormMethod.Post, new { id = "edit" })) { 
    @Html.ValidationSummary()
    @Html.HiddenFor(model => model.UserAccount.UserAccountId)

    <!-- other user fields removed for brevity -->

    <table>
        <tr>
            <th>Password</th>
            <td>
                @Html.PasswordFor(x => x.Password, new { id="password", @class="password"})
                @Html.ValidationMessageFor(x => x.Password)
            </td>
            <td>
                <div class="password-meter">
                    <div class="password-meter-message"> </div>
                    <div class="password-meter-bg">
                        <div class="password-meter-bar"></div>
                    </div>
                </div>
            </td>
        </tr>
    </table>

    <p>
        <button type="submit">Save</button> @Html.ActionLink("Nevermind", "Index")
    </p>
}

这很好用。虽然它需要输入密码。我可以将其修改为不需要密码而只验证它吗?

最佳答案

就用

$("#edit_form").validate({
    rules: {
        re_password: {
            equalTo: "#password"
        }
    },
    messages: {
        re_password: {
            equalTo: "Password does not match"
        }
    }
});

在输入字段中没有使用“required”类

<input id="password" type="password" name="password" class="TextBox">
<input id="re_password" type="password" name="re_password" class="TextBox">

关于javascript - 我如何使用 Jquery Validate 来验证密码而不是要求它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944350/

相关文章:

javascript - JavaScript 中的无符号字符

javascript - PHP/Javascript 项目不断调用 your-meme-site.com

css - 类似 Pinterest 的网格

javascript - 网页上所有 id 标签均可进行鼠标操作

javascript - D3 : Invalid attribute [object Object]

javascript - Ajax(以前称为 AJAX)和 AJANE 之间的实际区别是什么?

javascript - 我应该声明什么值类型的对象变量

javascript - jquery - 单击、追加、加载、slideDown 未按预期显示

javascript - jQuery:隐藏按钮 3 秒。 setInterval/.hide,还是toggleClass?

javascript - 以最小化模式打开jspanel