我正在構建一個帶有可以使用前綴(http://)或不使用格式的URL字段的Angular表單。採用了棱角分明的默認網址驗證需要的http://,所以我插在下面的正則表達式,這有和沒有前綴接受:對單個輸入(url)禁用角度表單驗證
<input type="text" id="siteAddress" name="siteAddress" ng-model="user.url" ng-pattern="/^(https?:\/\/)?([\dA-Za-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/" required>
這個偉大的工程,但是當我設置類型=「URL」, Angular的驗證會覆蓋我的自定義ng模式。這種形式僅適用於移動用戶,因此type =「url」非常重要,這樣他們才能收到正確的鍵盤,因此他們的移動操作系統不會嘗試自動更正其輸入。
是否可以使用type =「url」而不使用Angular應用其默認驗證,或者是否可以修改Angular的默認驗證以便它不接受url前綴?
謝謝!
看起來像最簡單的解決方案可能是保持輸入字段類型=「文本」,只是添加屬性來禁用拼寫檢查,自動大寫等。 'autocomplete =「off」autocorrect =「off」autocapitalize =「off 「spellcheck =」false「' 它運作良好。唯一的缺點是沒有獲得包含.com按鈕的自定義「url」鍵盤。我會留下這個問題,看看在結束之前是否有人有任何見解。 – idealboy