验证提供的模式上的输入字段

时间:2015-10-23 20:19:25

标签: angularjs twitter-bootstrap validation twitter-bootstrap-3

我在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验证的,但不是针对提供的模式验证的。

1 个答案:

答案 0 :(得分:1)

替换:

pattern="^[A-Z]{2}$"

ng-pattern="/^[A-Z]{2}$/"

来自documentation

  

如果表达式求值为RegExp对象,则直接使用它。如果表达式求值为字符串,则在将其包装为^和$字符后将转换为RegExp。例如,“abc”将转换为新的RegExp('^ abc $')