0

フォームが空白でも部分的に入力されていても、フォームを送信できます。jquery バリデーター プラグインを使用しているため、これは発生しないはずです。プラグイン スクリプトが適切な場所にあり、validate メソッドが右側に適切に接続されています。フォームセレクター。他に何が問題になる可能性がありますか?

$("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
4

1 に答える 1

1

検証が失敗した場合submitに実行するように関数を変更します。event.preventDefault()

通常は return false を使用できますが、jQuery イベントを使用してこのイベントを追加したため、ここで説明されているようevent.preventDefault()に代わりに使用する必要がありますstackoverflow

于 2013-09-23T01:11:15.863 に答える