0

我正在使用 MVC 4 表单,我想对我的输入进行一些验证。由于我的 MVC 强类型模型有点复杂,我想只使用 JQuery 验证方法而不使用任何 Attributes 属性。

当我运行我的页面时,我可以看到警告消息,但 IE10 告诉我:“对象不支持属性或方法'验证'”。

此外,Chrome 也会显示警报,但是当我单击“提交”并将我的名字输入留空时,什么也没有出现并且表单已提交。我应该在某处定义我的错误消息吗?我究竟做错了什么?谢谢!

这是我<head>_Layout.cshtml中的部分:

<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>

这是我<body>EditClient.cshtml中的部分(使用上面的布局):

<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"} });

});
4

1 回答 1

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'
            }
        }
    });
});
于 2013-09-06T13:53:36.490 回答