国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

angular.js - ng-pattern 驗(yàn)證問(wèn)題

瀏覽:67日期:2024-09-16 15:54:23

問(wèn)題描述

angular.js - ng-pattern 驗(yàn)證問(wèn)題

$scope.regex = /^1[34578]d{9}$/;

angular.js - ng-pattern 驗(yàn)證問(wèn)題

1.對(duì)手機(jī)號(hào)進(jìn)行了驗(yàn)證2.現(xiàn)在添加的時(shí)候會(huì)進(jìn)行驗(yàn)證3.但是編輯的時(shí)候,如果之前的手機(jī)號(hào)填寫(xiě)有錯(cuò),不會(huì)提示,這樣保存的時(shí)候會(huì)出錯(cuò)。保存時(shí)是這樣判斷的angular.js - ng-pattern 驗(yàn)證問(wèn)題

問(wèn)題解答

回答1:

要想要 input輸入的時(shí)候驗(yàn)證 + form提交的時(shí)候驗(yàn)證:第一步:給要驗(yàn)證的 input 添加 onkeyup 事件,在鍵盤(pán)松開(kāi)的時(shí)候觸發(fā)驗(yàn)證第二步:給 form 添加 onsubmit 事件,在表單提交的時(shí)候做驗(yàn)證

下面是一個(gè)范例:HTML:

<form action=’url’ id=’login_form’> 手機(jī)號(hào):<input type=’number’ name=’phone’ /> 提交:<input type=’submit’ value=’提交’ /></form>

Javascript

var form = document.forms[’login_form’]var phoneNum = form.elements[’phone’];var phoneReg = /^1[34578]d{9}$/;// 檢測(cè)手機(jī)號(hào)碼var checkUserPhoneNum = function(){ var phoneVal = phoneNum.value;// 表單驗(yàn)證 if (!phoneReg.test(phoneVal)) {return false; }return true;};// 手機(jī)號(hào)碼輸入的時(shí)候驗(yàn)證phoneNum.onkeyup = function(){ if (!checkUserPhoneNum()){// 手機(jī)號(hào)碼不正確的時(shí)候要做的事情....return ; }// 手機(jī)號(hào)碼正確的時(shí)候要做的事情....};// 表單提交form.onsubmit = function(event){ // 首先阻止表單提交 event.preventDefault();// 手機(jī)號(hào)碼驗(yàn)證 if (!checkUserPhoneNum()){console.log(’請(qǐng)輸入正確的11位手機(jī)號(hào)碼’);return ; } // 通過(guò)驗(yàn)證,則提交表單 this.submit();};回答2:

可以改成:

if ($scope.userform.$dirty && $scope.userform.$invalid) {}

其實(shí)當(dāng)無(wú)任何變更時(shí) $scope.userform.$dirty 時(shí)不允許提交,這也算是合理的。

========UPDATE========

你的form寫(xiě)法有很大的問(wèn)題。

angular自帶html5屬性的驗(yàn)證模型

angular表單自身是包含著大部分html5表單元素的驗(yàn)證,比如:required。要想啟用它,需要給from加上 ng-submit='adduserinfo()',既然有驗(yàn)證模型,那就去掉瀏覽器自身的驗(yàn)證,再加上 novalidate。

既然表單加上提交動(dòng)作,那么確定按鈕就不需要任何跟事件有關(guān)的東西了。

<form name='userform' novalidate ng-submit='adduserinfo()' id='user_form'> <button type='submit'>確定</button></form>

其實(shí)angular自身的驗(yàn)證模型還是非常豐富,特別是有正則表達(dá)式,可以做的事非常多。

回答3:

試試把ng-pattern='/^1/'(你寫(xiě)的regex)直接寫(xiě)在界面上 不要用變量定義

相關(guān)文章:
主站蜘蛛池模板: 松潘县| 汕尾市| 繁峙县| 宁河县| 珲春市| 庄浪县| 诏安县| 东山县| 应用必备| 石河子市| 长白| 丰城市| 清原| 崇阳县| 织金县| 东光县| 高青县| 江陵县| 福泉市| 独山县| 泸水县| 九龙县| 井研县| 江陵县| 正蓝旗| 泗阳县| 丰台区| 大邑县| 西峡县| 辛集市| 漳州市| 双峰县| 黔东| 新建县| 聊城市| 桂林市| 京山县| 九寨沟县| 宝应县| 青浦区| 松溪县|