2015-03-08 3 views
0

У меня есть форма, которую я проверяю с некоторыми обязательными полями в ней. Я использую плагин jquery.validate для проверки формы. Ниже приводится фрагмент кода: Js:Как обрабатывать ошибки проверки jQuery

var validator = $("#accountCreateForm").validate({ 

    // Specify the validation rules 
    rules: { 
     firstname: "required", 
     lastname: "required", 
     email: { 
      required: true, 
      email: true 
     } 
    }, 

    // Specify the validation error messages 
    messages: { 
     firstname: "Please enter your first name", 
     lastname: "Please enter your last name", 

     email: "Please enter a valid email address" 
    } 

}); 
$('#button').on("click", function(){ 
    $.wm.net.restRequest('/account/data',{ 
    //post the required data 
    }).fail(function() { 
    // do the error handling 
    }).done(function() { 
    //post data successfully 
    }); 
}); 

HTML:

<form action="" method="post" id="register-form" > 

<div class="label">First Name</div><input type="text" name="firstname" /><br /> 
<div class="label">Last Name</div><input type="text" id="lastname" name="lastname" /><br /> 
<div class="label">Email</div><input type="text" id="email" name="email" /><br /> 
    <div style="margin-left:140px;"><button id="button" type="submit" name="submit" >Submit</button></div> 

</form> 

С выше инициализации плагина проверки, форма не проверяет, в основном потому, что им ничего не делать в функции обработки ошибок , Я не уверен, как я могу справиться с проверкой функции ошибки:

}).fail(function() { 
    // do the error handling 
    }); 

Спасибо!

+0

Там нет никаких оснований для Вас, чтобы создать обработчик щелчка на всех. Плагин уже фиксирует щелчок и автоматически выполняет всю обработку ошибок, вот и все, и дает вам тонну [настроек] (http://jqueryvalidation.org/validate/). Что именно * вы пытаетесь «обрабатывать» в отношении ошибок? – Sparky

+1

Здесь ничего не работает, потому что вы привязали метод '.validate()' к 'accountCreateForm', но' id 'вашей формы является' register-form'. В противном случае ваш код будет работать: http://jsfiddle.net/owz0wgok/ – Sparky

ответ

0

Ваше имя формы является «регистрационной формой», но вы проверяете «accountCreateForm».

Здесь я попробовал это с вашей формой, это работает для меня:

var validator = $("#register-form").validate({ 

    // Specify the validation rules 
    rules: { 
     firstname: "required", 
     lastname: "required", 
     email: { 
      required: true, 
      email: true 
     } 
    }, 

    // Specify the validation error messages 
    messages: { 
     firstname: "Please enter your first name", 
     lastname: "Please enter your last name", 
     email: "Please enter a valid email address" 
    } 

}); 

$('#button').on("click", function(){ 

    if($('#register-form').valid()) 
    { 
     /* Do your saving, etc stuffs here */ 
     $('#register-form').submit(); 

    } 

}); 
+0

На всякий случай .. Не забудьте включить плагин проверки jquery http://jqueryvalidation.org/ – mpalencia

+0

Вы знаете, что плагин включает в себя [ submitHandler'] (http://jqueryvalidation.org/validate/#submithandler), который уже делает все это. – Sparky

+0

hanks @ Sparky и @mpalencia и извините за путаницу названия формы..и чувствую себя глупо сейчас за мою глупую ошибку .. – user1234

Смежные вопросы