Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angularjs中只允许文本框中的数字?_Angularjs - Fatal编程技术网

如何在angularjs中只允许文本框中的数字?

如何在angularjs中只允许文本框中的数字?,angularjs,Angularjs,嗨,我是angular js的新手? 当用户输入十进制值或字符串显示角度js中的错误时,如何只允许texbox中的数字 <div class="col-md-6 col-sm-6"> <label class="col-md-5 col-sm-5 pad-top5 pad-lft-no">Min <span class="error">*<

嗨,我是angular js的新手? 当用户输入十进制值或字符串显示角度js中的错误时,如何只允许texbox中的数字

 <div class="col-md-6 col-sm-6"> 
                                                        <label class="col-md-5 col-sm-5 pad-top5 pad-lft-no">Min <span class="error">*</span></label>
                                                        <input positive  type="number" class="col-md-7 col-sm-7 cls_input_inherit numberinput" min="0" ng-maxlength="3" id="age_min" name="age_min" ng-model="attributes.age_min"  required/>
                                                        <label for="age_min" ng-show="submittab2 && attributesForm2.age_min.$error.required" class="error">{{formValidation.required}}</label>                                                           
                                                        <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive &&  attributesForm2.age_min.$error.maxlength" class="error"> {{formValidation.monthMaxChar}} </label>
                                                        <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive && !attributesForm2.age_min.$error.maxlength && attributesForm2.age_min.$error.min" class="error">{{formValidation.minMax}}</label>
                                                        <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive && !attributesForm2.age_min.$error.maxlength && attributesForm2.age_min.$error.number" class="error">{{formValidation.errorNumber}}</label>
                                                        <label for="age_min" ng-show="submittab2 && attributesForm2.age_min.$error.positive" class="error">{{formValidation.minpositive}}</label>
                                                    </div>

闵*
{{formValidation.required}
{{formValidation.monthMaxChar}}
{{formValidation.minMax}
{{formValidation.errorNumber}
{{formValidation.minpositive}}

我尝试上面的代码,但输入十进制值时没有显示错误?如何解决它?

您需要在输入字段中添加ng pattern=“/^(\d)+$/”

 <div class="col-md-6 col-sm-6"> 
 <label class="col-md-5 col-sm-5 pad-top5 pad-lft-no">Min <span class="error">*</span></label>
                                                    <input positive  type="number" class="col-md-7 col-sm-7 cls_input_inherit numberinput" min="0" ng-maxlength="3" id="age_min" name="age_min" ng-model="attributes.age_min" ng-pattern="/^(\d)+$/" required/>
                                                    <label for="age_min" ng-show="submittab2 && attributesForm2.age_min.$error.required && attributesForm2.age_min.$touched && attributesForm2.age_min.$invalid"  class="error">{{formValidation.required}}</label>                                                           
                                                    <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive &&  attributesForm2.age_min.$error.maxlength" class="error"> {{formValidation.monthMaxChar}} </label>
                                                    <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive && !attributesForm2.age_min.$error.maxlength && attributesForm2.age_min.$error.min" class="error">{{formValidation.minMax}}</label>
                                                    <label for="age_min" ng-show="submittab2 && !attributesForm2.age_min.$error.positive && !attributesForm2.age_min.$error.maxlength && attributesForm2.age_min.$error.number" class="error">{{formValidation.errorNumber}}</label>
                                                    <label for="age_min" ng-show="submittab2 && attributesForm2.age_min.$error.positive" class="error">{{formValidation.minpositive}}</label>
                                                </div>

闵*
{{formValidation.required}
{{formValidation.monthMaxChar}}
{{formValidation.minMax}
{{formValidation.errorNumber}
{{formValidation.minpositive}}

这只是一个备选答案,请尝试使用指令

angular.module('myApp',[]);
角度模块('myApp')。指令('numOnly',numOnly);
函数numOnly(){
var指令={
限制:“A”,
范围:{
ngModel:'=ngModel'
},
链接:链接
};
返回指令;
功能链接(范围、元素、属性){
范围:$watch('ngModel',函数(newVal,oldVal){
var arr=字符串(newVal).split(“”);
如果(arr.length==0)返回;
如果(arr.length===1&&(arr[0]=='-'| | arr[0]==''))返回;
if(伊斯南(纽瓦尔)){
scope.ngModel=oldVal;
}
});
}
}
角度.module('myApp').controller('myController',myController);
myController.$inject=['$scope'];
函数myController($scope){
var vm=这个;
vm.txtNum='';//将默认值设置为空以避免指令中出现错误
vm.txtNumTwo='';//将默认值设置为空以避免指令中出现错误
}


查找答案:尝试使用输入类型为
number
pattern=“^[0-9]*$”
属性可能的重复项不工作,am添加模式但在添加十进制值时不显示任何错误?如何显示模式验证的错误消息?也更改模式^[0-9]*$not show any error still accept decimal valuea已按上述编码方式更改,在给定十进制值时不显示任何错误,而且step=“1”您需要使用此内部标签ng show=“submittab2&&attributesForm2.age\u min.$error.required&&attributesForm2.age\u min.$toucted&&attributesForm2.age\u min.$invalid”