2011-06-13 95 views
1

我想從使用$ .validator.addClassRules({})方法傳遞一個規則選項到$(「#」+ formName).validate({})方法。這些都是一樣的嗎?第二個不起作用。這兩種方法是一樣的嗎?

電流方法(作品) -

var validatorObject = $("#" + formName).validate({ 

rules: { 
    firstField:{ 
    equalTo: ['#secondField'] 
    }, 
    secondField:{ 
    equalTo: ['#firstField'] 
    } 
}); 

優選的方法(不工作) -

var myValidator = Validator.addForm("formName"); 
$.validator.addClassRules({ 
     firstField:{ 
     equalTo: ['#secondField'] 
     }, 
     secondField:{ 
     equalTo: ['#firstField'] 
     } 
}); 

回答

1

兩者是不等價的。第一個定義基於輸入元件的name規則:

鍵是一個元素的名稱(或 組複選框/單選按鈕)

The second補充說是規則基於元素的class。當您想要多個元素共享驗證規則時,這非常有用。

如果您想使用第二種方法,則必須將類firstFieldsecondField添加到您希望通過這些規則進行驗證的輸入中。

相關問題