jQuery.validator.addClassRules()不显示错误消息。为什么?

时间:2013-09-24 12:21:22

标签: jquery asp.net-mvc-4 jquery-validate

我有点问题。 我正在使用MVC 4和“jQuery Validation Plugin 1.11.1”。

我在脚本部分插入自定义验证,如下所示:

jQuery.validator.addMethod("nameExist", function (value, element, param) {
            var notError = true;
            if (value == 'Hello')
            {
                 notError = false;
            }
            return notError;
        }, 'The name exists');

使用新验证创建课程

jQuery.validator.addClassRules("nameExistErrClass", { nameExist: true });

然后在html部分中执行此操作:

@using (Html.BeginForm(MVC.Home.CopyData(), FormMethod.Post, new { id = "copyForm" }))
{

...

@Html.TextBox("newName", string.Empty, new { type = "text", @class = "nameExistErrClass"})
<span class="field-validation-valid" data-valmsg-for="newName" data-valmsg-replace="true"></span>

...

}

在提交带有文本“Hello”的表单后,看起来验证工作正常,但错误消息是

  

警告:没有为newName定义消息

如何显示消息'名称存在'?

P.S。 如果我添加属性

  

required =“required”

到元素'newName',一切都很好,消息来自默认消息。

1 个答案:

答案 0 :(得分:-1)

现在我明白了!抱歉所有的困惑。 JavaScript部分运行良好。问题是这样的重载Html.BeginForm(String, FormMethod, Object)不存在。请告诉我你尝试做什么,以便我给你正确的建议。我甚至不理解MVC.Home.CopyData()部分。你能告诉我更多相关信息吗?我认为你会选择错误的方法。

我希望这会对你有所帮助!