如何将ng消息与<输入名称='用户[名称]'>

How to use ng-messages with such a input like <input name='user[name]'>

本文关键字:用户 gt 名称 输入 ng 消息 lt      更新时间:2023-09-26

我是Angular的新手,尝试使用ng消息来执行表单验证之类的操作。现在,当我在以下情况下使用ng消息时,我没有问题:

<form name='loginForm' novalidate>
    <input name='user' required>
    <div ng-messages=loginForm.user.$error>
        <div ng-message='required'> this field is required...</div>
    </div>
<form>

但当我更改输入的名称属性时,<input name='user[name]' required>,ng消息将无法再次工作。有人能帮我吗?

表单名称属性CAN可动态填充。请记住,name属性读取字符串,ng-messages读取角度表达式,该表达式应计算为对$error对象的引用。

由于该引用是通过角度表达式获得的,因此它甚至可以是返回引用的方法。

在您的情况下,假设您的name属性如下所示:

<form name="loginForm">
    <input name="{{ user.name }}" required />
</form>

正确的语法应该是:

<div ng-messages="loginForm[user.name].$error" ></ div>