我有哪裏像電子郵件一些投入在HTML5正則表達式得到驗證的一種形式。 我需要驗證其他輸入,我無法使用模式。我需要查看數據庫並查找重複項。我可以通過調用某個函數而不是使用模式來驗證嗎?HTML5輸入驗證與功能,而不是模式
我可以通過調用某個函數來驗證用戶鍵入的內容,但我的最終目標是實現UI一致性。因爲電子郵件輸入使用模式和正則表達式驗證,用戶界面是由瀏覽器創建的,因此驗證等領域,我不能使用正則表達式時,我婉相同的用戶界面。
我有哪裏像電子郵件一些投入在HTML5正則表達式得到驗證的一種形式。 我需要驗證其他輸入,我無法使用模式。我需要查看數據庫並查找重複項。我可以通過調用某個函數而不是使用模式來驗證嗎?HTML5輸入驗證與功能,而不是模式
我可以通過調用某個函數來驗證用戶鍵入的內容,但我的最終目標是實現UI一致性。因爲電子郵件輸入使用模式和正則表達式驗證,用戶界面是由瀏覽器創建的,因此驗證等領域,我不能使用正則表達式時,我婉相同的用戶界面。
是的,這是可能的!
您只需要獲取輸入元素(通過回調或document.getElementBy ...)並調用
setCustomValidity('message here')。如果輸入有效,您可以撥打
setCustomValidity('')清除錯誤消息。
例如:
<input name='email' onchange='checkEmail(this)'></input>
然後定義checkEmail ...
function checkEmail(element) {
ajaxCallToServer(element.value, function callback(hypotheticalResponse) {
if (hypotheticalResponse.isOk) {
element.setCustomValidity('');
} else {
element.setCustomValidity('Sorry that email is already taken!');
}
});
}
不,HTML5確認沒有任何功能的概念。它原則上是與語言無關的,甚至不會在瀏覽器中假設JavaScript支持。它僅支持HTML5規範中描述的檢查。
這是可以做到的,但你會從HTML5式驗證疏遠自己,特別是因爲你的函數會必須是異步的才能查找數據庫。 (我99%肯定「預HTML5」 JS驗證框架是在那裏,所以你可以嘗試任何這些) – Katana314
你可以做到這一點,只是做與AJAX請求驗證對數據庫數據。 – ianaya89
您可以使用jQuery輕鬆實現此效果。可以使用jQuery.change()函數來驗證基本上使用jQuery.ajax(飛輸入),或特定jquery.post()/ jquery.get()函數。 – 9997