![](/img/trans.png)
[英]how to write a directive in angular js for input string replace with comma between a number and alphabets
[英]how to allow only alphabets in input box with angular js
我有一個帶角度js驗證的輸入框..代碼是
<div class="col-sm-12">
<input type="text" name="drug_name" class="form-control" placeholder="Drug name" ng-pattern="/[aA-zZ\s]$/" ng-model="vmp.medication.drug_name" maxlength="150" typeahead="drugn as drugn.drugName for drugn in vmp.drugList | filter:$viewValue" autocomplete="off" required>
<span class="pull-right font-10">(Max 150 chars.)</span>
<span ng-messages="form.drug_name.$dirty && form.drug_name.$error">
<span ng-message="required" class="error-inner">Drug name is required.</span>
<span ng-message="pattern" class="error-icn">Only Alphabets are allowed</span> </span>
</div>
如果我輸入數字,上面的代碼驗證文本框並拋出錯誤。 但我需要的是,它應該限制輸入數字。 用戶不應該在文本框中輸入數字..任何人都可以幫助這樣做..
以下是您正在尋找的ng-pattern-restrict 。 在你的情況下應該看起來像:
<input type="text" pattern="[a-zA-Z]+" ng-pattern-restrict />
app.directive('name', function() {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
var transformedInput = text.replace(/[^A-Za-z ]/g, '');
console.log(transformedInput);
if(transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
這不允許數字輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.