2013-09-23 2 views
0

비어 있거나 부분적으로 채워져 있는지 여부에 관계없이 양식을 제출할 수 있습니다. jquery 유효성 검사기 플러그인을 사용하고 있기 때문에 발생하지 않아야합니다. 올바른 위치에 스크립트가 있습니다. validate 메서드가 올바른 양식 선택기에 제대로 첨부되어 있습니다. 그 밖의 무엇이 문제 일 수 있습니까?jquery form validate not blank sumbission

$("form").submit(function(){ 
    (".selector").validate({ 
     rules: { 
      performance : { 
        required: true, 
        customvalidation: true 
      }, 
      location : { 
        required: true, 
        customvalidation: true 
      }, 
      date : { 
        required: true, 
        customvalidation: false 
      }, 
      time : { 
        required: true, 
        customvalidation: true 
      }, 
      guests : { 
        required: true, 
        customvalidation: true 
      }, 
      price : { 
        required: true, 
        customvalidation: true 
      } 
     }, 
     messages: { 
      performance : { 
        required: "enter a show name" 
      }, 
     location : { 
      required: "enter a location" 
      }, 
      date : { 
      required: "pick a date" 
       }, 
      time : { 
      required: "give a time" 
       }, 
      guests : { 
      required: "how many people do you need?" 
      }, 
      price : { 
      required: "what is the cover price?" 
      } 
    }, 
    submitHandler: function(form) { 
      console.log("now validated"); 
    } 
}); //closes validate   

$.validator.addMethod("customvalidation", 
      function(value, element) { 
        return (/^[A-Za-z\d=#$%@_ \-]+$/.test(value)); 
      }, 
    "Sorry, no special characters allowed" 
    ); 


var date = $("#date").val(); 
var showName = $("#performance").val(); 
var venue = $("#location").val(); 
var time = $("#time").val(); 
var guests = $("#guests").val(); 
var price = $("#price").val(); 

//this is where I submit to my database// 

});//closes submit 

답변

1

검증이 실패 할 경우 event.preventDefault()를 실행하도록 submit 기능을 수정합니다.

일반적으로 false를 사용할 수 있지만 jQuery 이벤트를 사용하여이 이벤트를 추가 했으므로 discussed here at stackoverflow 대신 event.preventDefault()을 사용해야합니다.

+0

감사합니다. 이것을 포함 할 것이지만 유효성 검사를 어떻게 작동시킬 수 있습니까? – Spilot

+0

Defected를 방지하면 페이지가 실제로 제출되지 않고 jquery 스크립트가 해당 작업을 수행하므로 유효성 검사가 작동합니다. –

+0

작동하지 않습니다. – Spilot