這個小HTML5密碼字段完美的作品,而不oninvalid屬性(圖案說:最少6個字符):HTML5:爲什麼我的「oninvalid」屬性讓模式失敗?
<form>
<input type="password" name="user_password_new" pattern=".{6,}" required />
<input type="submit" name="register" value="Register" />
</form>
見的jsfiddle here。
但是當我添加一個oninvalid屬性,它給出了當用戶輸入不符合模式的自定義錯誤消息,整場永遠不會成爲有效的,看到這裏的代碼:
<form>
<input type="password" name="user_password_new" pattern=".{6,}" oninvalid="setCustomValidity('Minimum length is 6 characters')" required />
<input type="submit" name="register" value="Register" />
</form>
見的jsfiddle here 。
你能發現錯誤嗎?
你的先生,是我的英雄!完美的答案。非常感謝! – Sliq
一個很好的解釋。解決這個問題的一個簡單方法是去除'oninvalid'屬性,並使用'value'屬性來代替預期的數據格式。這是HTML5 CR推薦的方式。屬性'value =「最小長度爲6個字符」'既可以作爲澄清錯誤信息的工具,也可以作爲鼠標懸停的工具提示。 –
@JukkaK。Korpela:我認爲你的意思是'title'屬性。 –