0

我有一个嵌套在另一个<div>元素中的输入字段,我试图在该输入字段上使用 ngMessages,但我似乎无法正确验证它。

<div class="form-group" ng-model="object.idnumber" ng-hide="condition.userObjectsHidden">
    <label class="form-control-label col-lg-12">ID Number</label>
    <div class="col-lg-12">
    <input type="text" name="idnumber" placeholder="111001111"
        ng-model="user.idnumber"
        ng-pattern="idpattern"
        class="form-control input-lg"
        required="required"></input>
        <div ng-messages="idnumber.$error" ng-if="idnumber.$dirty">
            <p ng-message="pattern">You are wrong!</p>
        </div>
    </div>
</div>

我不确定它在<div ng-messages...>标签所在的功能方面是否重要,但我也尝试过将它完全放在这个元素之外并获得相同的结果。如果我正确理解 Angular 和 ngMessages,我需要分配ng-messages一个指令$error——在这种情况下——我通过点遍历name分配得到。据我所知,我已经使用 来完成此操作idnumber.$error,但公平地说,我还尝试使用 进行更广泛的点遍历kiosk-form.uin.$error,其中kiosk-form是整个表单的名称。

我都试过ng-message="pattern"ng-message="required"。此外,为了清楚起见,idpattern在我的 Javascript 文件中定义为正则表达式字符串。它定义正确。

4

1 回答 1

1

将您的表单重命名为kioskForm然后ng-messages ="kioskForm.idnumber.$error"

于 2016-07-18T14:03:54.747 回答