ngMessages 无法正确处理嵌套输入

ngMessages not working correctly with nested input

我有一个嵌套在另一个 <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 文件中定义为正则表达式字符串。定义正确。

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