AngularJS ပေါ်လစ်စ် ဖုံးကွင်း အက်သီးတီးရိုက်
- အရှေ့ပိုင်း စာလုံး AngularJS ပါဝင်
- နောက်ပိုင်း စာလုံး AngularJS API
AngularJS သည် အက်သီးတီးရိုက် အချက်အလက် ကို အက်သီးတီးရိုက်ပြီးဖြစ်သည်။
ပေါ်လစ်စ် ဖုံးကွင်း အက်သီးတီးရိုက်
AngularJS သည် အက်သီးတီးရိုက် ပေါ်လစ်စ် ဖုံးကွင်း အက်သီးတီးရိုက် ကို ပြင်ဆင်နိုင်ပါ။
AngularJS သည် ပေါ်လစ်စ် ဖုံးကွင်း နှင့် အက်သီးတီးရိုက် ဖုံးကွင်း (input, textarea, select) များ အခြေအနေ ကို စောင့်ကြည့်ပြီး အခြေအနေ ကို အသုံးပြုသူ ကို အသိပေးနိုင်ပါ။
AngularJS သည် သူတို့ စိန့်ချရသည့်အခါ သို့မဟုတ် ပြင်ဆင်ထားသည့် အချက်အလက် ကို သိရှိနိုင်ပါ။
သင်သည် အခြေခံ HTML5 အချက်အလက် ကို အက်သီးတီးရိုက် သုံးစွဲနိုင်ပြီး ကိုယ်ပိုင် အက်သီးတီးရိုက် ဖန်တီးနိုင်ပါ။
အက်သီးတီးရိုက် ပြင်ဘက် အက်သီးတီးရိုက် ကို သီးခြား ကာကွယ်ရန် မဖြစ်နိုင်ပါ။ လိုအပ်သည့် ပြင်ဘက် အက်သီးတီးရိုက် လည်း အရေးကြီးပါ။
required
HTML5 အခြေခံ အချက်အလက် အသုံးပြုပါ။ required
ဤအရာသည် လိုအပ်သည့် အက်ဒေးလ် ဖြစ်သင့်မည်မဟုတ်ပါ။
အခြား ဆိုင်းတန်းထိန်းချုပ်
ဤအရာသည် လိုအပ်သည့် အက်ဒေးလ် ဖြစ်သည့် ဖြစ်သင့်မည်မဟုတ်ပါ။
<form name="myForm"> <input name="myInput" ng-model="myInput" required> </form>输入的有效状态是:
{{myForm.myInput.$valid}}
HTML5 အမျိုးအစား အသုံးပြုပါ။ email
ဤအရာသည် အက်ဒေးလ် ဖြစ်သင့်မည်မဟုတ်ပါ။
အခြား ဆိုင်းတန်းထိန်းချုပ်
ဤအရာသည် အိမ်းသားလိုက်ကွယ် ဖြစ်သည့် အက်ဒေးလ် ဖြစ်သင့်မည်မဟုတ်ပါ။
<form name="myForm"> <input name="myInput" ng-model="myInput" type="email"> </form>输入的有效状态是:
{{myForm.myInput.$valid}}
表单状态和输入状态
AngularJS 会不断更新表单和输入字段的状态。
输入字段有以下状态:
$untouched
အခြားအရာများကို ထိခိုက်မရှိသည်$touched
အခြားအရာများကို ထိခိုက်ပြီးသည်$pristine
အခြားအရာများကို ပြင်ဆင်မရှိသည်$dirty
အခြားအရာများကို ပြင်ဆင်ပြီးသည်$invalid
ပုံစံကုဒ်များကို အသုံးပြုပါ:$valid
ပုံစံကုဒ်များကို အသုံးပြုပါ:
它们都是输入字段的属性,要么为真,要么为假。
表单有以下状态:
$pristine
尚未修改任何字段$dirty
个或多个字段已被修改$invalid
ပုံစံကုဒ်များကို အသုံးပြုပါ:$valid
ပုံစံကုဒ်များကို အသုံးပြုပါ:$subscribed
表单已被提交
它们都是表单的属性,可以为真或假。
အဆိုပါ အခြေအနေများကို အသုံးပြုပြီး အသုံးပြုသူများအား အရေးပါသော အချက်အလက်များကို ပြသပါ၊ ဥပမာ၊ အခြားအရာများကို ပေးပါကြောင်း အချက်အလက်များကို ပြသပါ:
အခြား ဆိုင်းတန်းထိန်းချုပ်
အခြားအရာများကို ထိခိုက်ပြီး ဘယ်အရာများမပါဘဲ အမှားအရာကို ပြသပါ:
<input name="myName" ng-model="myName" required> <span ng-show="myForm.myName.$touched && myForm.myName.$invalid">အမည်ကို ပေးပါ。</span>
CSS ပုံစံကုဒ်များ
AngularJS ပုံစံကုဒ်များကို ပုံစံကုဒ်များကို ထပ်ပေါင်းပြီး၊ ပုံစံကုဒ်များကို ဖျက်သိမ်းပါ:
အခြားအရာများကို ပုံစံကုဒ်များကို ထပ်ပေါင်းပြီး၊ ပုံစံကုဒ်များကို ဖျက်သိမ်းပါ:
ng-untouched
အခြားအရာများကို ထိခိုက်မရှိသည်ng-touched
အခြားအရာများကို ထိခိုက်ပြီးသည်ng-pristine
အခြားအရာများကို ပြင်ဆင်မရှိသည်ng-dirty
အခြားအရာများကို ပြင်ဆင်ပြီးသည်ng-valid
ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-invalid
ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-valid-key
အခြားအရာများကို အတည်ပြုရာတွင် အချိန်ကို တစ်ခါတစ်ရပ် အသုံးပြုပါ:ng-valid-required
အများပြားစွာ အစီရင်ခံစာများကို အတည်ပြုရာတွင် အသုံးပြုသည်ng-invalid-key
ဥပမာ:ng-invalid-required
အခြားအရာများကို ပုံစံကုဒ်များကို ထပ်ပေါင်းပြီး၊ ပုံစံကုဒ်များကို ဖျက်သိမ်းပါ:
ng-pristine
အချိန်ကြား ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-dirty
တစ်ခုခုနှင့် အချိန်ကြား ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-valid
ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-invalid
ပုံစံကုဒ်များကို အသုံးပြုပါ:ng-valid-key
အခြားအရာများကို အတည်ပြုရာတွင် အချိန်ကို တစ်ခါတစ်ရပ် အသုံးပြုပါ:ng-valid-required
အများပြားစွာ အစီရင်ခံစာများကို အတည်ပြုရာတွင် အသုံးပြုသည်ng-invalid-key
ဥပမာ:ng-invalid-required
အရာကို အစားထိုးပြီး အခြားအရာများကို အသုံးပြုပါ: အမှန်မဟုတ်
အထိုအရာများကို ဖျက်သိမ်းပါ:
အထိုအရာများအတွက် ပုံစံကုဒ်များကို ထပ်ပေါင်းပြီး၊ သင့် အော်ဂန်ဂို အော်ဂန်ဂို ကို ပို၍ ကောင်းနားစိတ်ကျသော၊ ပုံစံကျသော အသုံးပြုသူ အကွက်အချက်ကို ပြင်ဆင်ပါ:
အခြား ဆိုင်းတန်းထိန်းချုပ်
အခြားသော CSS ပုံစံကုဒ်များကို အသုံးပြုပါ:
<style> input.ng-invalid { background-color: pink; }; input.ng-valid { background-color: lightgreen; }; </style>
ပုံစံကုဒ်များကို သတ်မှတ်လိုက်ပါ:
အခြား ဆိုင်းတန်းထိန်းချုပ်
အဖြစ်ပျက်ဘဲဖြစ်ပြီး၊ ပြင်ဆင်ပြီးသော ပုံစံကုဒ်များကို အသုံးပြုပါ:
<style> form.ng-pristine { background-color: lightblue; }; form.ng-dirty { background-color: pink; }; </style>
အခြား ဆိုင်းတန်းထိန်းချုပ်
အခြား ဆိုင်းတန်းထိန်းချုပ် တစ်ခု ကို ဖွဲ့စည်းရန် စိန်ခေါ် သဘောရှိ ပါ။ သင့် အောက်ပါ အရာ ကို ပြင်ဆင်ပြီး အောက်ပါ ပြင်ဆင်ချက် အရ ဆိုင်းတန်းထိန်းချုပ် အပြင်ဘက် သတ္တုပစ္စည်း အချက်အလက် အချို့ ကို လက်ခံပါ
အခြား ဆိုင်းတန်းထိန်းချုပ်
သင့် ကိုယ်တိုင် ဆိုင်းတန်းထိန်းချုပ် တစ်ခု ကို ဖွဲ့စည်းပြီး အခြား ဆိုင်းတန်းထိန်းချုပ် အမည် ကို သုံးပြီး my-directive
ကို သုံးပြီး
အကြောင်းအား "e" ကို ပါဝင်ပါက အရာတစ်ခု အကျိုးရှိပါ
<form name="myForm"> <input name="myInput" ng-model="myInput" required my-directive> </form> <script> var app = angular.module('myApp', []); app.directive('myDirective', function() { return { require: 'ngModel', link: function(scope, element, attr, mCtrl) { function myValidation(value) { if (value.indexOf("e") > -1) { mCtrl.$setValidity('charE', true); } else { mCtrl.$setValidity('charE', false); }; return value; }; mCtrl.$parsers.push(myValidation); }; }; }); </script>အချက်အလက် ဖော်ပြ
HTML တွင် အခြား ဆိုင်းတန်းထိန်းချုပ် ကို အခြေခံ ပုံ ကို အသုံးပြုပြီး my-directive
ကို သုံးပြီး
JavaScript တွင် အဓိပ္ပာယ်အရ ခေါ်မည်မှာ myDirective
အခြား ဆိုင်းတန်းထိန်းချုပ်အမည်
ဝန်းကျင် အမည် တစ်ခု ကို ခေါ်ဆိုရာတွင် ချီးပွားသော ချီးများ အသုံးပြုပါ myDirective
သို့သော် သူ့ကို ခေါ်ဆိုရာတွင် ဆက်ရွတ်အက်စ် အသုံးပြုပါ my-directive
နောက်မှ အကြောင်းအား တစ်ခု ကို ပြန်အပြန် ကူးကြည်းသည် ngModel
ပြီး ngModelController
မှတ်ချက် တစ်ခု ကို ဖွဲ့စည်းပြီး သူ၏ ပြင်ပ သတ္တုပစ္စည်း အချက်အလက် အချို့ ကို လက်ခံကြောင်း mCtrl
ဖြစ် ngModelController
နောက်မှ ဘဏ္ဍာင် တစ်ခု ကို သတ်မှတ်ပြီး myValidation
ပြီး သူ၏ ပြင်ပ သတ္တုပစ္စည်း တစ်ခု ကို လက်ခံကြောင်း
အကယ်၍ အကြောင်းအား "e" ကို ပါဝင်မည့်သူ့ ကို စမ်းသပ်ပြီး ဆိုင်းတန်းထိန်းချုပ်သူ၏ အကျိုးရှိခြင်းကို အစားထိုးပြီး မမှန်
သို့မဟုတ် အမှန်မဟုတ်
နောက်ဆုံး။mCtrl.$parsers.push(myValidation);
ပေါ်ထပ်ပေးသည်}} myValidation
အကြောင်းအရာ အပေါ် ပြုလုပ်ထားသော ပြောင်းလဲမှု တခုခု အတွက် အပြုအမူ အဖွဲ့များ သို့ အပေါ်ထပ်ပေးသည်။
验证示例
<!DOCTYPE html> <html> <script src="https://cdn.staticfile.net/angular.js/1.6.9/angular.min.js"></script> <body> <h2>验证示例</h2> <form ng-app="myApp" ng-controller="validateCtrl" name="myForm" novalidate> <p>用户名:<br> <input type="text" name="user" ng-model="user" required> <span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid"> <span ng-show="myForm.user.$error.required">用户名是必填项。< </span> </p> <p>电子邮件:<br> <input type="email" name="email" ng-model="email" required> <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid"> <span ng-show="myForm.email.$error.required">电子邮件是必填项。</span> <span ng-show="myForm.email.$error.email">无效的电子邮件地址。</span> </span> </p> <p> <input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid || myForm.email.$dirty && myForm.email.$invalid"> </p> </form> <script> var app = angular.module('myApp', []); app.controller('validateCtrl', function($scope) {}} $scope.user = 'Bill Gates'; $scope.email = 'bill.gates@gmail.com'; }); </script> </body> </html>
HTML ပုံစံ ပါဝင် novalidate ဘရောက်လာ့တ် အချက်အလက် ကို ပိတ်ပင်
အကျိုးသက်ရှိ ပြောဆို
AngularJS အဆိုအမည် ng-model
တိုက်ရိုက် အမှတ်အသား ပြား အား ဆိုင်း အရင်းတည် သို့ ပေးချင်း ထိန်းချုပ်ထား
ဆိုင်း အရင်းတည် အကိုင်း ပါ လုပ်ငန်းစွမ်းအား ၂ ခု ရှိသည်user
နှင့် email
နှင့် ng-show
နှင့် နောက်ပိုင်းတွင် user သို့မဟုတ် email ဖြင့် $dirty
နှင့် $invalid
အချိန်အချိန် ဖြင့် color:red ဖြင့် ဖော်ပြချက် ကို ပြသမည်
- အရှေ့ပိုင်း စာလုံး AngularJS ပါဝင်
- နောက်ပိုင်း စာလုံး AngularJS API