1

我在视图模型中的某些属性上设置了一些远程验证和正常验证。

运行验证时,我还运行一个函数,根据该字段是否有效,在已验证字段旁边显示一个勾号或叉号。

这就是远程验证存在问题的地方。由于它是异步的,因此会触发验证,运行显示刻度/交叉的函数,然后返回验证结果。由于我在属性上同时具有远程和非远程验证属性,因此该属性可以通过本地验证并无法通过远程验证。

发生这种情况时,我的输入字段(勾号/十字)旁边会显示错误的图像,因为决定显示哪个图像的函数在远程验证返回之前运行。它决定元素是否有效的方法是检查input-validation-error类。

有可能解决这个问题吗?我可以使用回调或事件吗?

我们使用 mvc 4 中附带的 jQuery.validate 库。

4

1 回答 1

3

好的,尝试#2 来回答这个问题。

jQuery 验证remote目前不支持指定回调,并且没有真正的迹象表明这会在不久的将来发生变化。

但是,您可以做的是挂钩到 jQuery 的通用Ajax 事件并捕获ajaxCompleteorajaxSuccess事件,之后您可以检查是否发生了验证调用。

它并不漂亮,但它是插件创建者所建议的。

希望能帮助到你

于 2013-09-25T09:05:40.580 回答