2016-07-11 8 views
0

Ich habe ein MVC-Projekt mit Knockout.Jquery Validierung löst aus, aber verhindert nicht das Senden des Formulars

Ich versuche meine Registeransicht mit jQuery Validierung zu validieren.

Dies ist das Register Ansicht:

<form data-bind="submit: register" id="formRegister"> 
    <label>Email</label> 
    <input id="registerEmail" name="registerEmail" class="required email form-control" 
      type="text" data-bind="value: registerEmail" /> 

    <label>Password</label> 
    <input id="registerPassword" name="registerPassword" class="required form-control" 
      type="password" data-bind="value: registerPassword" /> 

    <label>Confirm Password</label> 
    <input id="registerPassword2" name="registerPassword2" class="required form-control" 
      type="password" data-bind="value: registerPassword2" /> 

    <button type="submit" class="btn btn-default">Register</button> 
</form> 

Und die jquery:

$(function() { 
    $(document).ready(function() { 
     $("#formRegister").validate(); 
     $.extend($.validator.messages, { required: "*", email: "Invalid email address." }); 
    }); 
}); 

Wenn ich das Formular abgesendet haben, wird die Validierung ausgelöst, aber die Form ist auch vorgelegt.

+2

Sie müssen false zurückgeben, um eine normale Browser-Formularverarbeitung zu verhindern. Versuchen Sie, die Schaltfläche mit einer Klick-Bindung zu erfassen, und geben Sie – brianlmerritt

+0

@brianlmerritt zurück, danke, dass es getan hat! – user3378165

Antwort

4

Sie müssen false zurückgeben, wenn das Formular nicht gültig ist.

$(document).on("submit", "#formRegister", function(evt) { 
     if(!$(evt.target).valid()) { return false; } 
}); 
+0

Danke! Das hat mein Problem gelöst! – user3378165

Verwandte Themen