angular.js - isu pengesahan corak ng
某草草
某草草 2017-05-15 17:12:49
0
3
752

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

1. Nombor telefon bimbit telah disahkan
2. Ia akan disahkan apabila menambahkannya sekarang
3. Namun, apabila diedit, jika nombor telefon bimbit sebelum ini tidak diisi dengan betul segera. Apabila menyimpan, Sesuatu akan berlaku.
Beginilah ia dinilai apabila menyimpan

某草草
某草草

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