利用 FormGroup 的特性和方法,实现全局验证和保存功能。
<div [formGroup]="group" [ngClass]="group.get('groupName').errors?.ngClass">
<input formControlName="groupName" placeholder="Group Name">
<div *ngIf="group.get('groupName').errors?.message" class="error-msg">
{
{group.get('groupName').errors?.message}}
</div>
</div>
const group = new FormGroup({
groupName: new FormControl('TEST'),
});
let passValidation: boolean;
const control = group.get('groupName');
if (!control.value) {
passValidation = false;
control.setErrors({
message: 'Group Name is required.', ngClass: 'error-wrapper' });
}
if (passValidation && formGroup.dirty) {
// Trigger save ...
}
-
setErrors (errors: ValidationErrors, opts: { emitEvent?: boolean; } = {}): void
可以给任意一个control
设置errors
,通过control.errors
可以取到设置的值 -
setErrors (null)
清除errors
,通过赋值setValue
ptachValue
reset
也能清除 -
dirty: boolean
A control becomes dirty when the