проверка AJAX - PullRequest
       29

проверка AJAX

0 голосов
/ 14 февраля 2012

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

Пока что я собираюсь попробовать вызвать эту функцию ...

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() }
                }
            }
}

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

1 Ответ

1 голос
/ 14 февраля 2012

Да, это будет охватывать как события 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 демо .

...