0
我正在嘗試將焦點移至使用Jquery的驗證錯誤消息。通過將焦點移至錯誤消息,殘障屏幕閱讀器將向用戶讀取錯誤消息。我使用jQuery驗證:jQuery將焦點移至驗證錯誤消息
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
HTML:
@Html.ValidationSummary(true, "Invalid Login! Please correct the errors and try again.")
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { id = "logonForm" }))
{
@Html.AntiForgeryToken()
<div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName, new { autocomplete = "off" })
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password, new { autocomplete = "off" })
@Html.ValidationMessageFor(m => m.Password)
</div>
<p>
<input type="submit" value="Log On" id="btnLogOn" />
</p>
</fieldset>
</div>
}
JQuery的:
$("#logonForm").validate({
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
alert(errors);
}
});
無效處理程序永遠不會觸發。我從來沒有發出警報聲明。有任何想法嗎?
這裏是從Razor視圖引擎生成的HTML:
<form action="/Account/LogOn" id="logonForm" method="post"><input name="__RequestVerificationToken" type="hidden" value="VsOtMMJFUi6nvl38UAqVWsNkteNOaWBRKTUPAHgvn2xRKqBiZDbF//Glbl9IXJUkQssdP7wDk8MKskmN8HYtem+HSDViqRioxEatXs2oqzftBsdhzsrFgZ+akOPb0OZzFMer+A==" /> <div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
<label for="UserName">Username</label>
</div>
<div class="editor-field">
<input autocomplete="off" data-val="true" data-val-regex="Malicious Username" data-val-regex-pattern="^[a-zA-Z0-9\.\@\w-\w_]+$" data-val-required="The Username field is required." id="UserName" name="UserName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span>
</div>
<div class="editor-label">
<label for="Password">Password</label>
</div>
<div class="editor-field">
<input autocomplete="off" data-val="true" data-val-required="The Password field is required." id="Password" name="Password" type="password" />
<span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span>
</div>
<p>
<input type="submit" value="Log On" id="btnLogOn" />
</p>
</fieldset>
</div>
</form>
所以,我猜測所需的類是不同的數據VAL要求? – 2011-12-15 14:46:22