2013-04-16 50 views
0

我使用的是jquery.validatejquery.validate.unobtrusive,我想知道如何從javascript代碼手動使某些元素「有效」或「無效」?手動更新元素的有效性

我試圖修改像successListinvaliderrorMap$('form').validate()屬性,但它仍然沒有改變$('form').valid()的行爲,所以顯然我不是這樣做的權利。

+0

爲什麼你想要超越你之前指示插件爲你做的事情? – Sparky

+0

假設您的輸入字段需要自定義驗證,並取決於其他元素的值,例如dropdown – Agzam

+0

如果是這樣,那麼這不是你最初要求的。您問如何_「手動使某些元素有效或無效」_,這是沒有意義的。如果您只需要一個自定義規則或方法,那麼您可以使用'addMethod()'方法將您的自定義函數轉換爲新規則。 – Sparky

回答

1

報價OP:

「我不知道如何可以手動某些元素 」有效「 或 」無效「 從javascript代碼 ?」

只有具有用戶輸入的數據沿着所述分配rules可以「使」的輸入元件validinvalid。沒有辦法讓你勝過這個,否則使用這個插件確實沒有任何意義。


但是,您可以動態改變任何使用.rules('add') and .rules('remove') methods的規則。

假設你的輸入字段需要自定義驗證和例如取決於 其他元素的值:基於OP的評論


編輯dropdown

使用built-in method called addMethod將您的自定義函數轉換爲插件使用的自定義規則。