2013-05-07 72 views
1

我想驗證表單使用約束驗證API來自定義錯誤消息。HTML5/JS約束驗證錯誤

據Mozilla(https://developer.mozilla.org/en-US/docs/HTML/Forms/Data_form_validation) 一切都沒有問題,但我有一個奇怪的錯誤,當我嘗試驗證一個簡單的郵件輸入,未檢測無效的郵件。

這裏我的代碼示例:

<input type="mail" id="mail" name="mail"/> 

那麼對象存儲在JS,我在控制檯檢查有:

console.log(field.get(0).validity); 

從控制檯的回答是:

customError : false 
patternMismatch : false 
rangeOverflow : false 
rangeUnderflow : false 
stepMismatch : false  
tooLong : false 
typeMismatch : false 
valid : false 
valueMissing : true 

所以我假設函數調用正在工作。

如果我將輸入留空,相同的答案。如果我把「一個」或隨機字符串,相同的答案。 如果我把一個有效的郵件,同樣的答案...

如果我把一個必需的屬性,檢測emptyness ...

你知道發生了什麼事?

API太年輕,無法使用,或者我錯過了什麼?

我可以使用什麼作爲替代?

感謝您的閱讀,並對我的英語感到抱歉。

+0

指定您正在使用的瀏覽器會非常有用。 – MMM 2013-05-07 15:31:27

+0

這是Firefox,但在所有瀏覽器上都是一樣的。因爲PEBKAC。 – FLX 2013-05-07 15:39:17

回答

1

您應該使用類型email

看看你發佈的鏈接。

實施例:

<form> 
    <label for="mail">I would like you to provide me an e-mail</label> 
    <input type="email" id="mail" name="mail"> 
    <button>Submit</button> 
</form> 

類型mail將是無法識別的。就那麼簡單。

+1

O_o ...當然...非常感謝。 我失去了3小時的「e」工作。拉屎。 – FLX 2013-05-07 15:37:02