我正在使用我的MVC4应用程序中的Kendo Editor,并使用
实现了基于模型的验证 $("form").data("validator").settings.ignore = ":hidden:not(#Text)";
$.validator.setDefaults({ ignore: [] });
Kendo在TextArea周围构建它的编辑器并将其标记为隐藏字段。现在验证工作正常,但如果验证失败,则不会将.input-validation-error类添加到它。任何人都可以建议我怎么做。
答案 0 :(得分:0)
重点是输入验证错误类应用于原始隐藏字段...而不是编辑器。您必须拦截valisation fail事件,并且必须手动将此类添加到编辑器中。
拦截验证事件有两种方法。更简单的方法是在传递给setDefaults方法的选项中指定自定义showErrors函数。验证插件文档说明了如何执行此操作。
另一种方法是重新定义验证器对象原型的元素和形式方法......这并不难,但需要您对验证插件有更深入的了解。
我建议使用第一种方法并在showErrors函数中放置一个断点,以便您可以熟悉传递给它的参数的格式。添加自定义项后,别忘了调用默认的showErrors函数。
不要忘记还必须清除验证错误。现在,如果插件不会清除您的自定义错误(可能......因为它们没有附加到输入字段),您也被迫覆盖元素和表单方法,因为如果没有错误,则不会调用showErrors函数在任何情况下都会调用上面的方法,这样你就可以把清算代码放在那里....
我的建议是在开始时集中精力显示错误,并且在您熟悉验证插件的工作方式后,专注于在必要时清除自定义错误(也许它们会被插件自动清除)。 ..不确定插件如何清除其错误)