[英]Angular custom directive for input validation
我正在嘗試在angularJS中創建簡單的自定義指令,該指令可驗證用戶是否輸入整數。
如果用戶輸入整數,則錯誤消息應顯示在底部,提示“不允許使用整數” 。
知道我該如何實現...? (小提琴太棒了)
並且...
這是可以做到的,不許使用$范圍。$看?
這是檢查客戶端輸入驗證的專業有效方法嗎? (這種方法是否會損害應用程序的性能)?
您可以使用ng-pattern
驗證它是否為有效數字。 另一種方法是根據您的要求,創建一個自定義指令。 我要使用notNumber
名稱,也可以用很小的變化也可以是isNumber
。
angular.module('app')
.directive('notNumber', notNumber);
function notNumber() {
return {
require: 'ngModel',
link: function(scope, elem, attr, ctrl) {
ctrl.$formatters.unshift(function(value) {
if (value) {
ctrl.$setValidity('notNumber', Number.isNaN(value));
}
return value;
});
}
};
}
在HTML中,
<input type="text" ng-model="model" not-number />
比您預期的要簡單。...使用ng-pattern
<input type="text" ng-model="model" ng-pattern="\\d+" />
上面的docs鏈接中的演示默認設置為此模式。
至於這樣做……當然,以表格形式實時提供用戶反饋是正常的。 盡管必須完成,但這並不會減輕服務器端驗證的難度
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.