如何防止多个错误消息显示在有角度的html中?

普拉桑斯

嗨,下面是我的html文件中的代码片段。我想如果elseif的(条件)ELSEIF(条件)使用来实现ngifng-container

我要实现的只是一个代码块应打印错误。换句话说,我不想打印两个错误消息。我不知道为什么我的代码无法正常工作。

例如,当前,如果formGroup.hasError('invalidPasswordStrength')formGroup.hasError('blacklistedPassword')为true,则打印两个错误消息。

我所期望的是,如果两个都正确,我想打印有关的错误消息formGroup.hasError('invalidPasswordStrength')

我尝试过这样的选项,例如:

*ngIf="formGroup.hasError('passwordConfirmation') && !(formGroup.hasError('invalidPasswordStrength') || formGroup.hasError('blacklistedPassword'))

可以,但是不干净

<ng-container *ngIf="formGroup.hasError('passwordConfirmation'); else second">
          <alert type="danger" dismissable="false">
            {{ 'VALIDATION.ERRORS.MATCHING_PASSWORDS' | translate }}
          </alert>
        </ng-container>

        <ng-container #second *ngIf="formGroup.hasError('invalidPasswordStrength'); else third">
          <alert type="danger" dismissable="false">
            {{ 'VALIDATION.ERRORS.PASSWORD_STRENGTH_INVALID' | translate }}
          </alert>
        </ng-container>

        <ng-container #third *ngIf="formGroup.hasError('blacklistedPassword'); else fourth">
          <alert type="danger" dismissable="false">
            {{ 'VALIDATION.ERRORS.PASSWORD_NOT_PERMITTED' | translate }}
          </alert>
        </ng-container>

        <ng-container #fourth *ngIf="formGroup.hasError('passwordMatchingUserDetails')">
          <alert type="danger" dismissable="false" >
            {{ 'VALIDATION.ERRORS.PASSWORD_MATCHING_USER_DETAILS' | translate }}
          </alert>
        </ng-container> 
AJT82

为什么不在验证器中处理此逻辑。我只需要做一个验证器并在那里处理所有错误,就可以按照需要的顺序添加它们。所以伪代码:

constructor(private fb: FormBuilder) {
  this.myForm = this.fb.group({
    name: ['']
  }, { validator: this.myValidator});
}

myValidator(form: FormGroup) {
  // begin every time by removing all errors
  if (form) {
    form.setErrors(null);
    if ('some conditions here') {
      return { 'err1': true }
    }
    if ('some conditions here') {
      return { 'err2': true }
    }
    if ('some conditions here') {
      return { 'err3': true }
    }
    return null;
  }
  return null;
}

然后,该验证器一次仅返回一个错误(如果存在错误)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何防止在Laravel中显示机密数据的错误消息

如何快速显示带有多个错误的错误消息?

如何在有角度的UI上显示[object Object]?

如何使用angular5防止对话框在有角度的材质中打开两次

在角度页面中显示全局错误消息

如何在 jetpack compose 中显示多个 TextField 的错误消息

如何在有角度的 FormArray 中設置值?

如何解析为响应发布请求而收到的 javascript 对象并将其显示在有角度的页面中

如何在 html 模板中显示 djago 验证错误消息?

如何显示单个CustomValidator的多个错误消息

如何使用循环显示多个错误消息

如何防止Bootstrap验证在表单提交之前显示错误消息?

在有角的$ http服务中,如何捕获错误的“状态”?

在单个消息框中显示多个错误消息

使用jQuery在HTML中显示错误消息

如何通过角度在控制器上显示错误消息

角度表单验证如何在提交时显示错误消息

角度2:FormGroup:如何显示自定义错误消息

在有效Java的这段示例代码中,如何防止JVM“优化所有内容”?

如何在Highcharts中显示错误消息?

如何在AngularJS中显示错误消息?

如何在表单中显示错误消息

如何在表单中显示错误消息

如何使<img>和<md-card>在有角度的材质中响应?

如何在有角度的材质中定义自定义主题以控制按钮文本的颜色?

如何在有角度的ui网格单元格中添加图像

如果HTML输入错误,如何显示错误消息

如何在角度4中显示来自自定义验证器功能的自定义错误消息?

Android Studio在有效的Kotlin代码中显示错误