が、私はそれは、単一のテキストエリアがあり、この角度2 - フォームの検証は
import { FormControl, FormGroup, Validators } from '@angular/forms';
@Component({
template: `
<form [formGroup]="formGroup" (ngSubmit)="onSubmit()" novalidate>
<textarea (keyup)="valuechange($event)" #input name="detail" id="detail" formControlName="detail"></textarea>
<div *ngIf="formGroup.controls['detail'].dirty && formGroup.controls['detail'].invalid">This is required</div>
<button type="submit">Post</button>
</form>
`,
})
export class CreateDiscussionComponent implements OnInit, AfterViewInit {
constructor(
) {
this.formGroup = new FormGroup({
detail: new FormControl('', [Validators.required, Validators.minLength(2) ]),
});
}
onSubmit(): void {
this.submitted = true;
console.log(this.formGroup.value)
}
}
のような形を持って失敗します。入力がempytyでない場合は、submitをクリックして送信してください
問題:フォームは、テキストエリアも空です。あなたの要素に
<button type="submit" [disabled]="!formGroup.valid" >Post</button>
をdisabled
属性を追加することができ
私は 'disabled' attrのを試してみました、それは無効には、反応性フォームで使用すべきではないと言って、コンソールで黄色の警告を与えます。 –
submit 'empty value'の後にエラーメッセージを表示する方法はありますか? –