اعتبارسنجی ورودی در AngularJS

اعتبارسنجی ورودی در AngularJS

کنترل ها و فرم های دریافت کننده ی ورودی این قابلیت را دارند که داده های ورودی را اعتبارسنجی کنند.

Input Validation

در مبحث پیشین مطالبی را در مورد فرم ها و کنترل ها آموختید.

فرم ها و کنترل ها در AngularJS ، می توانند سرویس های اعتبار سنجی ارائه داده و کاربران را از وجودورودی های غیرمجاز ( invalid) آگاه سازند.

توجه: اعتبار سنجی در سمت سرویس گیرنده به تنهایی قادر به تامین امنیت ورودی های کاربر نیست. اعتبار سنجی در سمت سرویس دهنده نیز مورد نیاز می باشد.

کد برنامه ی نمونه

<!DOCTYPE html> <html> <head> <title></title> <script src="Angular.js"> </script> </head> <body> Validation Example <form ng-app="myApp" ng-controller="validateCtrl" name="myForm" novalidate> <p> Username:<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">Username is required.</span> </span> </p> <p> Email:<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">Email is required.</span> <span ng-show="myForm.email.$error.email">Invalid email address.</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 = 'John Doe'; $scope.email = 'john.doe@gmail.com'; }); </script> </body> </html>

نکته: خصیصه ی novalidate جهت غیرفعال کردن اعتبارسنجی پیش فرض مرورگر بکار می رود.

شرح مثال بالا:

دستور ng-model عناصر ورودی را به مدل bind می کند.

شی model دارای دو خاصیت می باشد: user و email .

به خاطر دستور ng-show ، عناصر span با این خاصیت color:red فقط زمانی نمایش داده می شوند که user یا email مساوی با dirty $ یا invalid $ باشند.

dirty$: کاربر با فیلد مورد نظر تعامل داشته است.

valid$ : محتوای فیلد مورد نظر مجاز می باشد.

invalid$: ورودی فیلد مورد نظر غیرمجاز می باشد.

pristine$ : کاربر هنوز با فیلد تعامل نداشته.



نظرات کاربران



عبارت امنیتی : حاصل 6 × 7 می شود :
متن پیام :