jqueryvalidation日期
在提交表单之前,如何validation日期格式? 我试着做以下事情。 但是,它不起作用。
Date:
$(function() { $('#submit').click(function() { $.validator.addMethod( "DateFormat", function(value, element) { return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/); }, "Please enter a date in the format dd/mm/yyyy"; ); // validate and process form here $('#contact').validate({ rules : date: { DateFormat : true } }); var dataString = $('form[name="contact"]').serialize(); $.ajax({ type: "POST", data: dataString, url : "ajax.php", }); }); });
您应该在插件之前加载jquery,如下所示:
否则validation插件将无法正常工作。
编辑 – 你的javascript代码有一些错误,这是一个工作小提琴http://jsfiddle.net/Eu8eS/1/
工作代码:
$(function() { $('#submit').click(function() { $.validator.addMethod( "DateFormat", function(value, element) { return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/); }, "Please enter a date in the format dd/mm/yyyy"//removed ; ); // validate and process form here $('#contact').validate({ rules :{//added here { date: { DateFormat : true } }//added here } }); var dataString = $('form[name="contact"]').serialize(); $.ajax({ type: "POST", data: dataString, url : "ajax.php", }); }); });
我建议您使用submit()
而不是click
按钮,因为您可以放置preventDefault
并在函数中return false
以停止提交按钮。
所以:
if(validation is false) { return false }
此外,似乎有一些语法错误。 尝试使用firebug(每个浏览器,但IE)并在继续前进之前修复它们。