jQuery远程验证不在keypress上工作,只处理焦点更改

时间:2012-04-09 09:50:38

标签: jquery asp.net-mvc jquery-validate remote-validation

我有一个视图模型

public class UserRegister
    {
        [Remote("CheckUserEmail")]
        public string Email { get; set; }
    }

有一个注册表视图,它强烈键入UserRegister模型。

@Html.EditorFor(model => model.Email)

在用户控制器中,我有动作注册

 public ActionResult Register()
        {
            UserRegister userRegister = new UserRegister();
            //// remote validation does not work on key press when the email field is not empty, 
            //// if i comment the below line or set the email as empty then remote validation works on keypress
            userRegister.Email = "abc@abc.com";
            return View(userRegister);
        }

远程验证适用于未预先填充电子邮件的表单中的按键事件,但是当电子邮件字段预填充时(上面的代码),远程验证(在按键事件上)不起作用。这仅在焦点改变时才有效。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我不知道这个问题,但您可以使用jquery来验证来自"$("FormSelector").valid()

所以你可以做到

$("input[type='text'"]).keypress(function() {
  $(this).valid()
    //Or if you want to validate the whole form
  $(this).closest('form').valid()
});