【发布时间】:2021-05-20 17:49:11
【问题描述】:
我有一个输入文本框和一个表单中的文本区域。如果我点击 textarea 我需要验证输入文本框是否为空,如果为空,则应该禁用文本区域,并且我应该在输入文本字段下方显示一条验证消息。
onClickvalidate(name: string) {
this.noContentError = "";
this.noName = name;
if (this.noName == '') {
this.noContent = true;
//this.noContentError = "Please provide a name."
this.name.setErrors({
noContent: `Please provide a name `
});
} else {
this.noContent = false;
this.name.setErrors(null);
}
}
<div class="row">
<div class="col-md-3">
<label for="name"> Name</label>
<input pInputText class="input" id="name" formControlName="name" placeholder="Name" type="text" />
<div *ngIf="name.invalid && name.touched" class="">
<div *ngIf="this.noContent" class="alert alert-danger alert-duplicate">
{{this.noContentError}}
</div>
</div>
<div class="col-md-6 ">
<label for="content">Input Text</label>
<div class="textarea-content">
<textarea pInputTextarea class="text-area" rows="1" id="content" formControlName="content" [readonly]="!name.value" placeholder="content is required" (click)="onClickvalidate(name.value)" (change)="textFormatting()"></textarea>
<div *ngIf="content.invalid && name.value">
<span *ngIf="!content.value" class="">Content Required</span>
</div>
</div>
</div>
</div>
【问题讨论】:
-
[disabled]="name.invalid && name.touched"在文本区域中是否无法正常工作? -
Textarea 将被禁用,但我必须在文本框下方显示验证消息。那部分不工作。
-
@sarasm 请检查我的答案并告诉我。注意:我使用了
readonly而不是disabled。
标签: angular validation textarea