我在bootstrap
表单中有一个输入字段,当用户更改model
时,该字段会生效。我有一个反馈help-block
,其中包含要验证的输入字段。但是,提供的模式验证不起作用。这是我的代码:
<div class="form-group" show-errors='{showSuccess: true}'>
<label>ID</label>
<input class="form-control" type="text" name="programID" ng-model="programID" pattern="^[A-Z]{2}$"
required>
<p class="help-block" ng-style="{'display':conf.display}"
ng-if="programID.$error.required">program ID is required</p>
<p class="help-block" ng-style="{'display':conf.display}"
ng-if="programID.$error.pattern">program ID is invalid</p>
</div>
模式只需要验证uppercase
个字母,严格来说只有2个字段。该字段是针对empty
验证的,但不是针对提供的模式验证的。
答案 0 :(得分:1)
替换:
pattern="^[A-Z]{2}$"
与
ng-pattern="/^[A-Z]{2}$/"
如果表达式求值为RegExp对象,则直接使用它。如果表达式求值为字符串,则在将其包装为^和$字符后将转换为RegExp。例如,“abc”将转换为新的RegExp('^ abc $')