angular - Angular:- 不显示和隐藏错误消息
问题描述
下面是对 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;
}
推荐阅读
- python-3.x - UnicodeDecodeError:“charmap”编解码器无法解码位置 2310 中的字节 0x81:字符映射到
- postgresql - Docker compose:无法连接到 Postgres
- node.js - 如何在同一个域上拆分后端和前端?
- swift - Swift:扩展组合运算符
- java - 如何解决ear maven项目中的java.lang.NoClassDefFoundError?
- java - Java - 读取excel,修改然后保存到新文件
- javascript - Ag-grid 我如何为 exportDataAsExcel 设置默认参数
- html - 使用 CSS 突出显示单击按钮
- javascript - 引导问题
- python - 如何解决 TypeError:预期的 str、字节或 os.PathLike 对象,而不是 _io.BufferedReader