angular.js - ng-pattern 验证问题
某草草
某草草 2017-05-15 17:12:49
0
3
683

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

1.对手机号进行了验证
2.现在添加的时候会进行验证
3.但是编辑的时候,如果之前的手机号填写有错,不会提示,这样保存的时候会出错。
保存时是这样判断的

某草草
某草草

membalas semua(3)
PHPzhong

Jika anda ingin mengesahkan apabila input input + mengesahkan apabila menyerahkan borang:
Langkah 1: Tambahkan input untuk disahkan acara onkeyup mencetuskan pengesahan apabila papan kekunci dikeluarkan
Langkah 2: Tambahkan acara onsubmit pada borang apabila borang diserahkan Lakukan pengesahan input输入的时候验证 + form提交的时候验证
第一步:给要验证的 input 添加 onkeyup 事件,在键盘松开的时候触发验证
第二步:给 form 添加 onsubmit 事件,在表单提交的时候做验证

下面是一个范例:
HTML:

<form action='url' id='login_form'>
    手机号:<input type='number' name='phone' />
    提交:<input type='submit' value='提交' />
</form>

Javascript

Berikut ialah contoh:
HTML:🎜
var form     = document.forms['login_form']
var phoneNum = form.elements['phone'];
var phoneReg = /^1[34578]\d{9}$/;

// 检测手机号码
var checkUserPhoneNum = function(){
    var phoneVal = phoneNum.value;
    
    // 表单验证
    if (!phoneReg.test(phoneVal)) {
        return false;
    }
    
    return true;
};

// 手机号码输入的时候验证
phoneNum.onkeyup = function(){
    if (!checkUserPhoneNum()){
        // 手机号码不正确的时候要做的事情....
        return ;
    }
    
    // 手机号码正确的时候要做的事情....
};

// 表单提交
form.onsubmit = function(event){
    // 首先阻止表单提交
    event.preventDefault();
    
    // 手机号码验证
    if (!checkUserPhoneNum()){
        console.log('请输入正确的11位手机号码');
        return ;
    }
       
    // 通过验证,则提交表单
    this.submit();
};
🎜Javascript🎜 rrreee
某草草

boleh ditukar kepada:

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

Malah, apabila tiada perubahan, $scope.userform.$dirty tidak dibenarkan untuk diserahkan, itu adalah munasabah. $scope.userform.$dirty 时不允许提交,这也算是合理的。

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

你的form写法有很大的问题。

angular自带html5属性的验证模型

angular表单自身是包含着大部分html5表单元素的验证,比如:required。要想启用它,需要给from加上 ng-submit="adduserinfo()",既然有验证模型,那就去掉浏览器自身的验证,再加上 novalidate

========KEMASKINI========

Ada masalah besar dengan cara anda menulis borang.

angular disertakan dengan model pengesahan atribut html5

Borang sudut itu sendiri mengandungi pengesahan kebanyakan elemen borang HTML5, seperti: diperlukan. Untuk mendayakannya, anda perlu menambah ng-submit="adduserinfo()" kepada daripada Memandangkan terdapat model pengesahan, alih keluar pengesahan penyemak imbas sendiri dan tambah novalidatecode> . 🎜 🎜Memandangkan borang menambah tindakan hantar, butang OK tidak memerlukan apa-apa yang berkaitan dengan acara. 🎜
<form name="userform" novalidate ng-submit="adduserinfo()" id="user_form">
    <button class="studentadd" type="submit">确定</button>
</form>
🎜Malah, model pengesahan Angular sendiri masih sangat kaya, terutamanya dengan ungkapan biasa, terdapat banyak perkara yang boleh dilakukan. 🎜
Ty80

Cuba tulis ng-pattern="/^1/" (regex yang anda tulis) terus pada antara muka Jangan gunakan definisi berubah

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!