繁体   English   中英

角度:-不显示并隐藏错误消息

[英]Angular:- not displaying and hide error message

以下是对提交按钮的onclick正常工作的代码,如果它的错误,那么它将仅在提交按钮上显示错误,并且一旦用户填写正确的信息,它就会不断出现并仅在单击提交按钮时才继续运行,即条件是否适用提交按钮仅适用于表单本身。 我想我正在跳过一些东西

以下是HTML文件

<div class="col-sm-6 pb-3 zip-wrapper">
              <label for="mailingZip" class="required">Zip Code</label>
              <div class="input-wrapper">
                <input type="text" name="mailingZip" [maxLength]="20" [disabled]="setAsResidential" placeholder="Enter Zip Code" [(ngModel)]="mailingAddress.zip.value"
                  autocomplete="off" (keyup)="validateMailingZipCode()" (blur)="validateMailingZipCode()">
              </div>

              <div class="clearfix"></div>
              <p *ngIf="mailingAddress.zip.error" class="clearfix error-message">
                <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> {{mailingAddress.zip.errorMessage}}</p>
            </div>

下面是ts文件

 validateMailingZipCode() {
    let hasErrors: boolean = false;
    if (parseInt(this.mailingAddress.zip.value) >= parseInt('01001') && this.mailingAddress.zip.value.length === 5) {
      return false;
    } else {
      hasErrors = true;
      this.mailingAddress.zip.error = true;
      this.mailingAddress.zip.errorMessage = 'Invalid Zip Code Provided';
    }
    return hasErrors;
  }

只需在您的函数中重置this.mailingAddress.zip.error

validateMailingZipCode() {
  this.mailingAddress.zip.error = false; // Reset to false on keyup
  let hasErrors: boolean = false;
  if (parseInt(this.mailingAddress.zip.value) >= parseInt('01001') && this.mailingAddress.zip.value.length === 5) {
    return false;
  } else {
    hasErrors = true;
    this.mailingAddress.zip.error = true;
    this.mailingAddress.zip.errorMessage = 'Invalid Zip Code Provided';
  }
  return hasErrors;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM