Мне интересно, использовал ли кто-нибудь плагин Jquery Validate Password (http://bassistance.de/jquery-plugins/jquery-plugin-password-validation/) для проверки паролей, но не требует их.
В моем случае я собираю форму редактирования пользователя. AПользователь не может существовать без пароля. Поэтому, когда администратор редактирует пользователя, я знаю, что пароль уже был подтвержден и назначен пользователю.
Я хочу, чтобы администратор мог отправить форму иоставьте поля пароля пустыми. Это означает, что пароль не был изменен. Но, если администратор действительно хочет изменить пароль, я хочу использовать пароль проверки 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>
}
Это прекрасно работает. Хотя это требуетПароль для ввода. Могу ли я изменить его, чтобы он не требовал ввода пароля и только проверял его?