S
export class AddUser {
age: number = null;
name: string = null;
login: string = null;
}Size: a a a
S
export class AddUser {
age: number = null;
name: string = null;
login: string = null;
}MG
Validators.required и Validators.requiredTrue?VY
Validators.requiredTrue = валидация, которая содержит обязательное свойство со значением true, если поле не валидно, в противном случае будет - null.YS
export class AddUser {
age: number = null;
name: string = null;
login: string = null;
}АР
АР
AD

I
I
I
AK

AK
AD
AD
YS
PT
<mat-radio-button value="ip">
Add by Ip
<mat-form-field>
<input matInput
placeholder="put ip"
#ip
pattern="(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)">
</mat-form-field>
</mat-radio-button>
<button mat-button [disabled]="ip.validity" [mat-dialog-close]="this.data">Add</button>S
S
<mat-radio-button value="ip">
Add by Ip
<mat-form-field>
<input matInput
placeholder="put ip"
#ip
pattern="(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)">
</mat-form-field>
</mat-radio-button>
<button mat-button [disabled]="ip.validity" [mat-dialog-close]="this.data">Add</button>SV
IF