这实际上与ASP.NET MVC有关。
提交表单后,将执行模型验证。如果检测到错误,则错误消息将显示在<span>
中。我们应该能够使用jQuery
$('span.field-validation-error')
来掌握它。但是我们应该为这个“OnCreated”绑定什么事件?
我已经尝试过$('span.field-validation-error').change(function (e) {
,$('span.field-validation-error').load(function (e) {
等等。但这些都没有奏效。
那么正确的事件名称是什么?
---- ----更新
我们的目标是自定义显示的错误消息。如果可以在创建<span>
标签时对其进行编辑,我们将能够显示感叹号图标并将这些错误消息放在工具提示中。例如。
答案 0 :(得分:1)
我 GUESS 你可以:
var checkTimer = setInterval(function() {
if ($('span.field-validation-error').length > 0) {
//yay :D it exists!
alert("YEP");
clearInterval(checkTimer);
} else {
//derp...
console.log("nope");
}
}, 50);
setTimeout(function() {
document.body.innerHTML = "<span class='field-validation-error'>word</span>";
}, 5000);
例:
http://jsfiddle.net/neuroflux/Ynz5b/1/
[edit] 是的...它很乱,我讨厌定时器和间隔 - 但这是一种方法来做到这一点...
[编辑2] 检查元素是否存在的参考:http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/
答案 1 :(得分:0)
如果我理解正确的话,你真正想做的就是在另一个函数中包含一些代码,并在span.field-validation-error
附加到DOM的同时调用它。
没有onCreated
事件处理程序,onLoad
也不适用于DOM节点。
答案 2 :(得分:0)
不确定我是否真的推荐这种方法用于你正在做的事情,但你可以考虑挂钩jQuery验证器settings.showErrors属性来操作错误消息,然后调用默认方法(defaultShowErrors)然后将它们显示为通常