我在我的 View 模型中的某些属性上设置了一些远程验证和正常验证。
运行验证时,我还会运行一个函数,根据该字段是否有效,我会在已验证的字段旁边显示勾号或叉号。
这就是远程验证的问题所在。由于它是异步的,因此会触发验证,我的函数会显示勾选/交叉运行,然后返回验证结果。 由于我在属性上同时具有远程和非远程验证属性,因此该属性可以通过本地验证而无法通过远程验证。
发生这种情况时,我的输入字段旁边会显示错误的图像(勾号/叉号),因为决定显示哪个图像的函数在远程验证返回之前运行。
它决定元素是否有效的方法是检查 input-validation-error
类。
有可能解决这个问题吗?是否有我可以使用的回调或事件?
我们使用 mvc 4 中的 jQuery.validate 库。
最佳答案
好的,尝试#2 来回答这个问题。
jQuery 验证的 remote
目前不支持指定回调,并且没有真正的迹象表明这会在不久的将来改变。
但是,您可以 做的是 Hook 到 jQuery 的通用 Ajax Events 中。并捕获 ajaxComplete
或 ajaxSuccess
事件,之后您可以检查是否发生了验证调用。
它不漂亮,但它是 suggested由插件的创建者提供。
希望对你有帮助
关于javascript - 在 asp.net mvc 4 远程验证失败时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999451/