【发布时间】:2012-01-20 16:08:57
【问题描述】:
我想知道是否有人使用过 Jquery Validate Password 插件 (http://bassistance.de/jquery-plugins/jquery-plugin-password-validation/) 来验证密码但不需要它们。
就我而言,我正在整理一个编辑用户表单。没有密码的用户不能存在。所以当管理员编辑用户时,我知道密码已经被验证并分配给用户。
我希望管理员能够提交表单并将密码字段留空。这意味着密码没有更改。但是,如果管理员确实想更改密码,我想使用 jquery 验证密码(上面链接)来验证密码。
在我的 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>
}
这很好用。虽然它需要输入密码。我可以将其修改为不需要密码而只验证它吗?
【问题讨论】:
-
只是想知道
/Scripts/Common/jquery.js您正在加载缩小的 jquery 还是标准?通常应该有jquery.min.js(只是一个旁注) -
是的...我相信它已经缩小了。我刚刚为这篇文章快速输入了该链接,因为该链接位于母版页中,并且我正在从视图中复制。 :-)
标签: javascript jquery jquery-plugins jquery-validate