インターネットの手順に従って、パスワードの検証をセットアップしました。
ASP.NET MVC4+razor+jquery を使用していますが、検証が機能していないようです。コードは次のとおりです。
CSHTML:
@using (Html.BeginForm("Index","Home",FormMethod.Post,new { id="resetForm"}))
{
<ol class="round">
<li class="one">
<h5>Select the Application.</h5>
@model PWDManagementCenter.Models.UserApplicationModels
@Html.DropDownListFor(x => x.selectedUserApp, Model.userApps)
</li>
<li class="two">
<h5>Input Login ID of Application</h5>
<input name="txtLogonId" />
</li>
<li class="three">
<h5>Input the new password</h5>
<input id="txtPwd" name="txtPwd" type="password" />
<h6>Retype the password</h6>
<input id="txtPwd2" name="txtPwd2" type="password" /><p />
<input id="btnSubmit" type="submit" value="Save" />
</li>
</ol>
}
HTMLのJS:
<script src="/Scripts/jquery-1.7.1.js" type="text/javascript" />
<script src="/Scripts/jquery.validate.js" type="text/javascript" />
<script type="text/javascript">
$(document).ready(function () {
$('#resetForm').validate({
rules: {
txtPwd: {
require: true, minlength: 6, maxlength: 20
},
txtPwd2: {
require: true, equalTo: '#txtPwd', minlength: 6, maxlegth: 20
}
},
messages: {
txtPwd: {
require: "Password is required!",
minlength: "Password contains at least 6 characters",
maxlength: "Password contains at most 20 characters"
},
txtPwd2: {
equalTo: "Make sure input the same password as above"
}
}
});
</script>
そしてコントローラー:
[HttpPost]
public ActionResult Index(UserApplicationModels model)
{
string appName = model.selectedUserApp;
string id = Request.Form["txtLogonId"];
string newPwd = Request.Form["txtPwd"];
string newPwd2 = Request.Form["txtPwd2"];
......
}
デバッグ モードで送信ボタンをクリックすると、検証なしでこの Index 関数にジャンプします。
なんで?見逃したものはありますか?助けてください。
この簡単な検証デモに従います
質問に答えてくれた人に感謝します。あなたは問題を解決するために私にヒットをくれました。
スクリプト タブは "
</script>
" ではなく" " で終わる必要があるため、この/>
"<script src="/Scripts/jquery.validate.js" type="text/javascript" />
" は機能しませんが、この "<script src="/Scripts/jquery.validate.js" type="text/javascript" ></script>
" は機能します1 の後、「jscript ランタイム エラー オブジェクトはこのプロパティまたはメソッドをサポートしていません」というランタイム エラーが発生しました。これは、jquery を 2 回含めているためです。
1,2 の後、検証は正常です。