Forms 角度形式。$dirty,仅在脏字段上出错

Forms 角度形式。$dirty,仅在脏字段上出错,forms,validation,angularjs,Forms,Validation,Angularjs,我在一个容器中有几个表单错误消息,我只想在内部显示特定错误时才显示外部容器 我的目标是,如果一个字段说,电子邮件变脏+无效,我们会看到错误框。然后用户修复电子邮件。现在所有其他的东西都是原始的,肮脏的电子邮件是有效的。我现在想隐藏错误框 错误框看起来像此Jade模板,但您可以在其中看到HTML: div.errorbox(ng-show="register.$dirty && register.$error") h3 Warning p(n

我在一个容器中有几个表单错误消息,我只想在内部显示特定错误时才显示外部容器

我的目标是,如果一个字段说,电子邮件变脏+无效,我们会看到错误框。然后用户修复电子邮件。现在所有其他的东西都是原始的,肮脏的电子邮件是有效的。我现在想隐藏错误框

错误框看起来像此Jade模板,但您可以在其中看到HTML:

    div.errorbox(ng-show="register.$dirty && register.$error")
        h3 Warning
        p(ng-show="register.email.$dirty && register.email.$error") The email address you entered is not valid!
        p(ng-show="register.password.$dirty && register.password.$error.required") Please enter a password.
        p(ng-show="register.password.$dirty && register.password.$error.minlength") Password is too short.
        p(ng-show="register.confirmpassword.$dirty && register.confirmpassword.$error.required") Please confirm your password.
        p(ng-show="form.confirmpassword.$dirty && reg.match") Passwords do not match
基本上,如果有任何错误,我想显示周围的框和容器。如果没有特定的消息,我想隐藏容器

我现在唯一能做的就是在外部容器上列出所有内部条件两次。但这似乎很愚蠢

有没有一个角度的方法可以做到这一点

有推荐的方法吗


做这件事最简单的方法是什么?

不清楚你在问什么。您的.errorbox容器已设置为仅在窗体脏且有错误时显示。你为什么要。。。在外部容器上列出所有内部条件两次?好吧,假设我的电子邮件是脏的和无效的。然后表单显示内容。然后用户修复电子邮件。我要解除错误框,因为其他东西还没有触发。编辑:添加了一句话来解释这一点。谢谢你的宝贵意见。嗯,当你修复电子邮件时,register.error将等于false,从而隐藏.error框。示例中的HTML应该与您描述目标的方式完全一致。不是吗?另外,如果一个字段无效,我们会看到表单部分有点不清楚。表单不应该一直可见吗?想提供一个打捞器吗?不,不,我是说集装箱。而且表格无效。当我修复电子邮件时,register.$error仍然为true-因为密码的长度不正确。密码长度错误本身是隐藏的,因为它仍然是原始的,但是表单是脏的并且有错误。