2012-02-20 86 views
1

我有一個表單,使用jquery驗證和表單驗證提交和模糊(onfucusout)。我的一些字段有使用jquery mask插件的掩碼。掩碼會在字段(---)---/----中放置類似的內容。當用戶點擊此字段時,(---)---/----消失。我的問題是,雖然這個字段是黑色的,但它會拋出驗證錯誤,認爲用戶輸入了(---)---/----而不是將它留空。jquery驗證 - 輸入掩碼衝突

我的第一個想法是延遲驗證,以便它在(---)---/----消失之後驗證。我的問題是如何設置驗證延遲,以便在字符消失後評估字段?如果這不是正確的修復可以有人幫我解決這個問題。

同樣,我認爲這是因爲驗證在面具字符消失之前觸發引起的。我需要它在掩蓋的地方持有者消失後進行驗證。謝謝你的幫助。

回答

0

我解決這個問題的方式。在我的情況

輸入掩碼: 「(999)999-9999」

爲我的測試例如我做了以下內容:

(1)我做的第一件事是什麼決定字符正在我的DOM中生成。 例如 在FireBug控制檯中使用下面的代碼。

$( '#MyPhoneNumberID')。KEYDOWN(函數(){ 的console.log($(本).VAL())

在我的情況是吐出以下(_) - ___

(2)圍繞我所用的工作是更新我的正則表達式(用於手機),包括面具爲正則表達式 例如部分「(_) - ___」 OR正確輸入電話號碼是允許的。

使用正則表達式: 「^:(1)(:\ S *(:(+) - ??????| |()\ S *)(\ d {3} | _ {3} | \ s {3})(:\ s *(?: - ?| |)?)\ S *)(\ d {3} | _ {3} | \ s {3} )(?:\ s *(?: - |。)?\ s *)?(\ d {4} | _ {4} | \ s {4})$「

Hope this help!