Angularjs 角度-ng消息中的多个字段

Angularjs 角度-ng消息中的多个字段,angularjs,ng-messages,Angularjs,Ng Messages,我正在使用ng messages,想知道是否可以在一个代码块中跨多个字段进行检查,而不必重复: 因此,我: (注意checkCustom是我编写的自定义指令) 请输入字段1 请检查自定义值 及 请输入字段1 请检查自定义值 但是我更喜欢这样: <div ng-messages="registrationForm.field1.$error || registrationForm.field2.$error" ng-if="registrationFormValid">

我正在使用
ng messages
,想知道是否可以在一个代码块中跨多个字段进行检查,而不必重复:

因此,我: (注意
checkCustom
是我编写的自定义指令)


请输入字段1
请检查自定义值


请输入字段1
请检查自定义值
但是我更喜欢这样:

<div ng-messages="registrationForm.field1.$error || registrationForm.field2.$error" ng-if="registrationFormValid">
    <span ng-message="required">please enter field 1</span>
    <span ng-message="checkCustom">please check custom value</span>
</div>

请输入字段1
请检查自定义值
这样的事情可能吗


谢谢

如果您不想在所有块中添加相同的消息并将其添加到单个位置,您可以执行以下操作:

  • 将所有消息添加到文件中

    请输入字段1
    请检查自定义值

  • 只要把那个文件放在你想要的地方就行了

    
    

  • 因此代码被重用。对于不同的错误消息,请在块内覆盖该消息

    欲了解更多信息,请查看此页面。 我认为不能在一个ng消息块中添加两个字段。

    有一个名为
    $error
    的方便属性。这是一个对象哈希,包含对验证程序失败的控件或表单的引用,其中其键是错误名称(例如,
    电子邮件
    必需的
    最小长度
    ,等等),其值是具有给定错误名称的失败验证程序的控件或表单数组

    这意味着我们只需检查此
    $error
    对象是否包含特定的键名,就可以全局检查表单中的错误

    看看这个例子:

    angular.module('myApp',['ngMessages'])
    
    [ng斗篷]{
    显示:无!重要;
    }
    
    验证消息:
    至少有一个必填字段
    至少有一个字段不满足minlength条件
    表单包含无效的电子邮件输入
    所需输入1
    所需输入2
    最小长度为“3”的必需输入3
    所需输入4,类型为=“电子邮件”
    
    只需使用

    <div ng-if="registrationForm.field1.$error.required || registrationForm.field2.$error.required">
    <span class="required">please enter field 1</span>
    </div>
    
    
    请输入字段1
    
    部分解决-可以使用语法
    ng messages=“{checkCustom:!main.field1 | |!main.field2}”
    ng messages=“{必需:!main.field1 | |!main.field2}”
    极好但被低估的答案。非常感谢。
    <div ng-messages="registrationForm.field1.$error || registrationForm.field2.$error" ng-if="registrationFormValid">
        <span ng-message="required">please enter field 1</span>
        <span ng-message="checkCustom">please check custom value</span>
    </div>
    
    <div ng-if="registrationForm.field1.$error.required || registrationForm.field2.$error.required">
    <span class="required">please enter field 1</span>
    </div>