我被要求创建一个登录表单,当用户输入未通过验证时,它会弹出一个警告框。
我使用基于模型的验证将所有内容连接起来。
前任:
public class LogonViewModel
{
[Required( ErrorMessage = "User Name is Required")]
public string UserName { get; set; }
[Required( ErrorMessage = "Password is required")]
public string Password { get; set; }
}
我在页面上有一个验证摘要:
Html.ValidationSummary()
我希望摘要出现在页面上,以防用户关闭 javascript。但是,如果客户端验证触发,我还想捕获验证事件并将错误放入警报框中,就像我被问到的那样。
我的表格基本上是...
@Html.ValidationSummary()
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "loginForm" }))
{
username: @Html.TextBoxFor(m => m.UserName) <br/>
password: @Html.TextBoxFor(m => m.Password) <br/>
<input type="submit" value="Login"/>
}
我尝试过的一件事是
<script language="javascript">
$(document).ready(function () {
$("#loginForm").validate({
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
alert(errors);
}
}
});
});
</script>
我不知道如何使这项工作。我只想允许正常验证和显示错误,但有机会做更多的事情。