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)并在继续前进之前修复它们。