2012-02-14 3 views
0

Я ищу, чтобы проверить элемент формы, используя проверку ajax, используя событие OnBlur (чтобы охватить события клавиш и вырезать и вставить события). Похоже, что у jquery Validation 1.9 действительно есть эта функция. Может ли кто-нибудь подтвердить, что он охватывает как ключевые записи, так и записи вставки/вставки? Любые примеры этого использования Asp.net MVC2? Я не сильно типа вид так, моя реализация может закончиться быть немного более сложным, что обычный пример ...ajax validation

До сих пор, я буду пытаться вызвать эту функцию ...

public string ValidateHosFin(string hospitalFin) 
{ 
    if (!true) 
     return ""; 
    return "true"; 

} 

Это просто манекен для того, что функция действительно будет делать ... Это просто тест, однако ... до сих пор у меня есть JQuery функция проверки установить, как так ...

$("#temp1").validate({ 
     rules: { 
      HospitalFinNumber: { 
       required: true, 
       minlength: 6, 
       remote: { url: '<%:Url.Action("ValidateHosFin", "PatientACO")%>', data: { hospitalFin: $('#HospitalFinNumber').val() } 
       } 
      } 
} 

на вход id элемента для того, что я буду проверять, является HospitalFinNumber. Как я могу гарантировать, что это будет работать как на событиях ввода ключа, так и на событиях копирования?

ответ

1

Да, это будет охватывать как события onBlur, так и копировать/вставлять в поле. Кроме того, вы можете изменить ваш сервер действие проверки со стороны так, что он возвращает ActionResult и JSON:

public ActionResult ValidateHosFin(string hospitalFin) 
{ 
    // some validation logic 
    if (hospitalFin == "1234567") 
    { 
     return Json(true, JsonRequestBehavior.AllowGet); 
    } 
    return Json("invalid hospital fin", JsonRequestBehavior.AllowGet); 
} 

Еще одно замечание ваше дистанционное правило проверки. Вы должны сделать это вернуть функцию или значение отправляется на сервер будет значение, что текстовое поле было в тот момент была показана страница (которая, вероятно, пустой):

$('form').validate({ 
    rules: { 
     HospitalFinNumber: { 
      required: true, 
      minlength: 6, 
      remote: function() { 
       return { 
        url: '<%= Url.Action("ValidateHosFin", "PatientACO") %>', 
        data: { hospitalFin: $('#HospitalFinNumber').val() } 
       }; 
      } 
     } 
    } 
}); 

И вот live demo.

+0

Дарин. Будет ли эта проверка повторяться при отправке? Например, если по какой-либо причине результат действия будет отличаться до того, как пользователь представит, будет ли эта дистанционная проверка перед подачей? – SoftwareSavant