jQuery.validator.addClassRules()不';不显示错误消息。为什么?
我有个小问题。 我正在使用MVC4和“jQuery验证插件1.11.1” 我在脚本部分插入自定义验证,如下所示: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;
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
方法的逻辑是如何完全向后的。太晚了,我该睡觉了。我完全搞糊涂了。谢谢。嘿,斯帕奇,你能不能取消你那没有用的一票,因为我改变了整个答案。谢谢