【问题标题】:Angular ngMessages change class when valid and not only on errorAngular ngMessages 在有效时更改类,而不仅仅是在错误时
【发布时间】:2015-07-08 14:29:02
【问题描述】:

这是我第一次使用 ngMessages,我的问题是 $error 对象是否有对应对象,例如 $valid?在 ngMessages 的角度文档中,我只遇到了 $error 对象。

<form name="contactForm">

    <input ng-class="{'invalid-field': contactForm.nameField.$error, 'valid-field': !contactForm.nameField.$error}" type="text" name="nameField" placeholder="Full name*" required>

    <div ng-messages="contactForm.nameField.$error">
        <div ng-message="required">Name is required</div>
    </div>

</form>

我知道的是当 $error 对象为假时,我将类更改为“有效字段”,但这是不正确的。这样,输入字段的格式就好像它始终有效并且不应该发生。

【问题讨论】:

    标签: css angularjs forms validation


    【解决方案1】:

    根据 ng-model 的文档,$error 来自哪里,它也有一个 $valid 状态,所以回答你的问题,是的:)

    文档还将向您展示其他与验证相关的角度模型状态。

    https://docs.angularjs.org/api/ng/type/ngModel.NgModelController

    $valid: boolean: 如果没有错误则为真。

    ng-model 属性应该与每个字段一起使用,尽管在您的示例中输入没有 ng-model 这也可能是问题的根源。

    【讨论】:

    • ng-model 属性只需要放在输入字段而不是表单本身?
    • 是的,这就是我所说的,在您发布的内容中,至少没有任何 ng-model 属性。 Angular 需要它来绑定输入字段。
    猜你喜欢
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多