2013-06-27 62 views
0

我在動態命名的屏幕上有多個日期控件。多個控件的jquery自定義規則驗證

我有以下JSfiddle。我想知道這是否是可能的一種形式

http://jsfiddle.net/bboymarko/6tyAd/1/

HTML

日期驗證

<br /> 
<label for="date">Enter Date</label> 
<input id="date" name="date" type="text" /> 

<br /> 
<input name="submit" type="submit" value="Submit" /> 

上創建所有日期字段一個規則

Javascript $(document).ready(function (){

$.validator.addMethod("kdate", function (value, element) { 
    return this.optional(element) || /^(([0-9])|([0-2][0-9])|([3][0-1]))\/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\/\d{4}$/.test(value); 
}, "Please enter a valid date."); 

$("form").validate({ 
    rules: { 
     date: { 
      required: true, 
      kdate: true 
     } 
    }, 
    submitHandler: function (form) { // for demo 
     alert('valid form'); // for demo 
     return false; // for demo 
    } 
}); 

});

+0

您的意思是說,您在名爲date1,date2,date3的表單中有多個日期輸入字段。想包括在規則屬性 –

+0

我想包括所有的領域,如date1等..林不知道,如果你可以驗證類似的東西 –

+0

你可以做一個ID –

回答

0

如果您使用的是jQuery,您可以使用jQuery Date Picker,這將允許您將其分配給多個字段並限制/提前用戶格式化日期。所以沒有凌亂的正則表達式使用,它可以更整潔。

+0

謝謝你的回覆,我使用它它會提供正確的值,但在IE中它不接受正確的格式值並認爲它無效。正則表達式很好。 –

0

是的,它是可能的,當你在的地方類像

<input id="date" name="date" type="text" class="dateValidate"/> 

和使用此類選擇用於驗證的日期

$('.dateValidate'). whatever method you want to initialize. 

創建動態ID作爲你動態地命名他們

像date1,date2,date3和使用for循環

for(i=1;i<=size;i++){ 

$('#date'+i).your method 

}