首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2群验证

角2群验证
EN

Stack Overflow用户
提问于 2016-08-14 00:09:15
回答 1查看 2.3K关注 0票数 2

所提供的简单登记表:

代码语言:javascript
复制
this.registerForm = this.formBuilder.group({
    email:['', Validators.compose([
    Validators.required,
    Validators.pattern('.+@.+\..+'),
    ]), this.validators.isTaken],
    matchingPassword: this.formBuilder.group({
    password: ['', Validators.compose([
            Validators.required,
            Validators.maxLength(30),
            Validators.minLength(8)
        ])],
    passwordConfirmation: ['', Validators.compose([
            Validators.required,
        ])]
    }, {validator: this.validators.match})
})

我试图验证密码确认匹配,所以我正在应用匹配验证器形成组。但是现在我面临这样一种情况:字段本身显示为有效(使用绿色边框,因为所有验证器都在传递),但组验证器不是,我需要将它们显示为红色。

那么,我应该手动将ng-有效更改为ng-无效,还是有一些更好的方法来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2017-02-23 23:15:14

我刚才在这里回答了这个问题。

基本角度并不假设您想要使一个组的所有字段无效,因为这个组是无效的。您可以在模板本身中补充该信息。

我没有您的模板,但我可以或多或少地假设您可以通过以下方式更改控件以使其失效:

代码语言:javascript
复制
<input [ngClass]="{'ng-invalid': registerForm.get('matchingPassword').hasError('nomatch')}" type="text" placeholder="Password" formControlName="password">

<input [ngClass]="{'ng-invalid': registerForm.get('matchingPassword').hasError('nomatch')}" type="text" placeholder="Confirm password" formControlName="passwordConfirmation">

您可能需要调整自定义验证器match返回的占位符和错误名称。

1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38938050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档