我要求验证文本框,当用户选择输入税号时,他们必须输入9位,否则将文本框留空,表单有效并启用提交按钮。我试图这样做。但这不起作用。请告诉我更好的方法。
<form name ="tinForm">
<div class="form-group">
<input type="text"
ng-model="person.tin"
name="tin"
ng-minlength="9"
maxlength="9"/>
<span class="help-block" ng-show="tinForm.tin.$invalid"> Please enter 9 digits </span>
</div>
</form>
<div>
<button ng-disabled="!tinForm.person.tin.$valid">Submit</button>
</div>
感谢。
答案 0 :(得分:1)
您可以使用ngBlur
执行此类操作:
<input type="text" ng-blur="testLength()"
ng-model="person.tin"
name="tin"
ng-minlength="9"
maxlength="9"/>
在您的控制器上:
$scope.testLength=function(){
if (person.tin.length <9)
person.tin = "";
}
答案 1 :(得分:0)
您可以使用ng-pattern
进行检查<form name="myform">
<input type="text" name="myfield" ng-model="abcd" ng-pattern="/^$|^[0-9X]{10}$/">
<span>valid : {{myform.myfield.$valid}}</span>
</form>
结帐plunker