我正在使用jQuery驗證插件。我有一個動態的表單,根據用戶爲循環選擇的數字取決於1-5而創建。我正在努力編寫動態部分,以使每個表單字段在每個循環上正確工作。帶有jQuery驗證插件的ColdFusion動態循環創建動態規則
<!--- Looping Validation --->
<script>
$("#form").validate({
focusCleanup: true,
focusInvalid: false,
rules: {
phoneNumber_<cfoutput>#Add#</cfoutput>: {
required: true,
validatePhone: true
},
},
// Same for other fields
messages: {
phoneNumber_<cfoutput>#Add#</cfoutput>: "This field is required.",
// Repeat for other fields
}
});
因此,我嘗試創建第一個示例,規則的工作原理,但只有當它循環一次。如果用戶選擇兩個或更高的循環,它只能在第一個而不是第二個或更高的循環上工作。
// Validates Phone Number
jQuery.validator.addMethod("validatePhone", function(value, element) {
return this.optional(element) || /^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$/.test(value);
}, 'Please enter valid Phone Number.');
然後我試了一下,它打破了RegEx,並且只試圖在第一個循環上進行驗證。
// Validates Phone Number
jQuery.validator.addMethod("validatePhone", function(phoneNumber_<cfoutput>#Add#</cfoutput>) {
var value = new RegExp("^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$");
return phoneNumber_<cfoutput>#Add#</cfoutput>.match(value);
}, 'Please enter valid Phone Number.');
任何幫助,這將不勝感激!先謝謝你!
輸入2,和步throught使用您選擇的JavaScript去開溜的代碼。 –
您可能已經意識到這一點,但如果您不知道:您的電話號碼正則表達式會拒絕一些有效的電話號碼格式。 ** [研究這個小提琴](http://jsfiddle.net/83yvrwto/1/)**看看我的意思。 – radiovisual