Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.validator.addClassRules()不';不显示错误消息。为什么?_Jquery_Asp.net Mvc 4_Jquery Validate - Fatal编程技术网

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

jQuery.validator.addClassRules()不';不显示错误消息。为什么?,jquery,asp.net-mvc-4,jquery-validate,Jquery,Asp.net Mvc 4,Jquery Validate,我有个小问题。 我正在使用MVC4和“jQuery验证插件1.11.1” 我在脚本部分插入自定义验证,如下所示: jQuery.validator.addMethod("nameExist", function (value, element, param) { var notError = true; if (value == 'Hello') { notError = false;

我有个小问题。 我正在使用MVC4和“jQuery验证插件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>

...

}
@使用(Html.BeginForm(MVC.Home.CopyData(),FormMethod.Post,new{id=“copyForm”}))
{
...
@TextBox(“newName”,string.Empty,new{type=“text”,@class=“nameExistErrClass”})
...
}
在提交带有文本“Hello”的表单后,验证似乎正在进行,但错误消息仍然存在

警告:没有为newName定义消息

如何显示消息“名称已存在”?

附言。 如果我添加属性

required=“required”


对于元素“newName”,一切正常,消息取自默认消息。

现在我知道了!很抱歉给你带来这么多困惑。JavaScript部分运行良好。问题是这样一个重载
Html.BeginForm(String、FormMethod、Object)
不存在。请告诉我你想做什么,这样我才能给你正确的建议。我甚至不理解
MVC.Home.CopyData()
部分。你能告诉我更多关于那件事吗。我想你可能选择了错误的方法


我希望这对你有帮助

检查以下答案:在我看来,您这样做是正确的,使用代码的工作示例:请显示表单的呈现HTML。引用:“您必须向
addClassRules
方法传递一个对象,而不是两个参数。”~不,您不正确。另请参见Ryley的工作JSFIDLE:Ryley的演示在您意识到该字段不是“必需”且除“Hello”之外的任何值都通过验证时工作正常。您的
addClassRules
方法与Ryley方法的工作原理相同:另外,请注意
nameExist
方法的逻辑是如何完全向后的。太晚了,我该睡觉了。我完全搞糊涂了。谢谢。嘿,斯帕奇,你能不能取消你那没有用的一票,因为我改变了整个答案。谢谢