2011-05-18 43 views
2

我在尋找Jquery UI的modal form demo。但我想補充一些東西。 此演示檢查所有輸入(名稱,電子郵件,密碼)長度並驗證它們。但電子郵件輸入必須是可選。因此,我將設置電子郵件輸入的最小值(爲checkLength()函數)爲零。但是,當我留下空白的電子郵件輸入我得到驗證錯誤。您可以查看完整代碼hereIF對於Javascript的聲明

它的確認電子郵件與此代碼:

bValid = bValid && checkRegexp(email, ..SOME REGEX PATTERNS WILL COME HERE.., "eg. [email protected]"); 

但我想嘗試驗證僅當有任何電子郵件的輸入。由於電子郵件輸入是可選的,訪客可以離開它。如何將如果聲明(如果電子郵件輸入已填充,驗證它,否則不要嘗試驗證)添加到此代碼? 我希望這很清楚。

回答

1

如果你說「怎麼辦確認只有電子郵件不爲空」,那麼,我認爲沒有理由這樣是行不通的:

var email = $("#email"); // taken from the linked code 
if (email.val() != "") { // e-mail field value is not empty 
    bValid = bValid && checkRegexp(email, ..SOME REGEX PATTERNS WILL COME HERE.., "eg. [email protected]"); 
} 

注意:如果你真的不知道如何在JS中使用條件語句,你可能會有障礙的批次。請參閱this以獲得快速參考,並/或獲得有關JS基礎知識的書籍。

+0

我試圖使用'email.lenght === 0'條件,但它不工作。我會試試這個。謝謝。 – Eray 2011-05-18 17:06:35

+1

@Eray:不客氣。你從哪裏得到這個語法?首先,'lenght'可能是一個錯字;第二,這會得到許多匹配'#email'的元素 - [請參閱文檔](http://api.jquery.com/length/)。 – Piskvor 2011-05-18 17:08:48