我正在使用MVC 4表单,我想对我的输入进行一些验证。 由于我的MVC强类型模型有点复杂,我想只使用JQuery验证方法而不使用Attributes属性。
当我运行我的页面时,我可以看到警告消息,但IE10告诉我: “对象不支持属性或方法'验证'”。
此外,Chrome还会显示提醒,但是当我点击“提交”并将我的FirstName输入留空时,系统不会显示任何内容并提交表单。 我应该在某处定义我的错误消息吗?我究竟做错了什么? 谢谢!
这是 _Layout.cshtml 中的<head>
部分:
<head>
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
</head>
这是 EditClient.cshtml 中的<body>
部分(使用上面的布局):
<body>
<script src="../../Scripts/EditClient.js" type="text/javascript"></script>
@using (Html.BeginForm("EditClient", "Reviewer", FormMethod.Post, new { id = "ClientForm" }))
{
@Html.TextBoxFor(x => x.Client.Person1.FirstName)
<input type="submit" value="Submit" class="form-submit" />
}
</body>
这是表单验证的 EditClient.js :
$("document").ready(function () {
alert('Test Alert'); //Showing OK
$("#ClientForm").validate(); //IE10 doesn't recognize the method
$("#Client_Person1_FirstName").rules("add", { required: true, maxlength: 20, messages: { required: "Title required", maxlength: "Must be under 20 characters"} });
});
答案 0 :(得分:0)
尝试定义验证规则:
$("document").ready(function () {
$("#ClientForm").validate({
rules: {
'Client.Person1.FirstName':
{
required: true,
maxlength: 20
}
},
messages:
{
'Client.Person1.FirstName':
{
required: 'Title required',
maxlength: 'Must be under 20 characters'
}
}
});
});