@angular-ru/cdk/validators
emptyValidator
import {emptyValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public form: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.form = this.fb.group(
{
name: '',
lastName: '',
},
{validators: emptyValidator},
);
}
}
maxDateValidator, minDateValidator
import {maxDateValidator, maxDateValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public form: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.form = new FormControl(toUtc({month: new Date().getMonth() - 4}), [
// toUtc({ month: new Date().getMonth() - 3 }) generates a Timestamp equals to 3 months ago
minDateValidator(toUtc({month: new Date().getMonth() - 3})),
maxDateValidator(toUtc({month: new Date().getMonth() - 1})),
]);
}
}
dateMaxIntervalValidator, dateMinIntervalValidator, orderedIntervalValidator
import {dateMaxIntervalValidator, dateMinIntervalValidator, orderedIntervalValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public form: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.form = new FormGroup(
{
dateFrom: new FormControl(toUtc({month: new Date().getMonth() - 1})),
dateTo: new FormControl(toUtc()),
},
[
// new Date(0).setDate(40) generates 40-days time interval (in Timestamp)
dateMinIntervalValidator(new Date(0).setDate(40), {dateToKey: 'dateTo', dateFromKey: 'dateFrom'}),
dateMaxIntervalValidator(new Date(0).setDate(70), {dateToKey: 'dateTo', dateFromKey: 'dateFrom'}),
orderedIntervalValidator({dateToKey: 'dateTo', dateFromKey: 'dateFrom'}),
],
);
}
}
requiredSomeValueByKeysValidator
import {requiredSomeValueByKeysValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public form: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.validForm = new FormGroup(
{
a: new FormControl(13),
b: new FormGroup({
c: new FormControl(),
}),
},
[requiredSomeValueByKeysValidator(['a', 'b.c'])],
);
this.invalidForm = new FormGroup(
{
a: new FormControl(),
b: new FormGroup({
c: new FormControl(),
}),
},
[requiredSomeValueByKeysValidator(['a', 'b.c'])],
);
}
}
requiredSomeValueValidator
import {requiredSomeValueValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public form: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.validForm = new FormGroup(
{
a: new FormControl(13),
b: new FormControl(),
c: new FormControl(),
},
[requiredSomeValueValidator()],
);
this.invalidForm = new FormGroup(
{
a: new FormControl(),
b: new FormControl(),
c: new FormControl(),
},
[requiredSomeValueValidator()],
);
}
}
everyArrayItemValidator
import {everyArrayItemValidator} from '@angular-ru/cdk/validators';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
public validForm: FormGroup;
public invalidForm: FormGroup;
constructor(private readonly fb: FormBuilder) {
this.validForm = this.fb.group({
items: this.fb.control(['st1', 'st2'], {
validators: everyArrayItemValidator([Validators.minLength(2), Validators.maxLength(10)]),
}),
});
this.invalidForm = this.fb.group({
items: this.fb.control(['s', 'st2'], {
validators: everyArrayItemValidator([Validators.minLength(2), Validators.maxLength(10)]),
}),
});
}
}
longValidator
import {longValidator} from '@angular-ru/cdk/validators';
import {FormControl} from '@angular/forms';
import {Component} from '@angular/core';
@Component()
export class AppComponent {
// valid range: ('-9223372036854775808', '9223372036854775807')
public control: FormControl = new FormControl(null, longValidator());
}
Last updated