2011-12-01 111 views
1

我在我的MVC 3项目中使用jQuery和不显眼的JavaScript进行远程验证。现在,当远程验证失败时,我想对页面进行更多修改,然后只显示错误消息。我怎样才能钩从JavaScript的远程验证失败?远程验证客户端钩子

回答

3

MVC验证将输入验证错误类添加到验证失败的元素。所以我会绑定到input元素的onChange事件,我会检查它是否正确或失败。下面的代码应该做的窍门

$('#yourInputId').change(function(){ 
    if($(this).hasClass('input-validation-error')){ 
    // do your thing here 
    } 
}); 

如果你需要检查一个特定的验证错误,你可以走得更远。这是,如果我的删除验证失败什么得到补充说:

<span class="field-validation-error" data-valmsg-for="Account.Login" data-valmsg-replace="true"> 
    <span for="Account_Login" generated="true" class="">Login is taken. Maybe Login1 will work for you? </span> 
</span> 

所以,你可以检查特定的字符串被添加到DOM。

+0

我很喜欢这个想法,不幸的是该领域无法验证的原因有两个。 a)电子邮件地址不是有效的格式。 b)它已经注册。在这种情况下,我只想勾选第二个显示忘记密码的链接。 – olle

+0

找到我更新的回复:) – torm