Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private createForm() {
this.dateForm = this.fb.group({
day: ['', [Validators.min(this.minDay), Validators.max(this.maxDay)]],
month: ['', [Validators.min(this.minMonth), Validators.max(this.maxMonth)]],
year: ['', [Validators.min(this.minYear), Validators.max(this.maxYear)]],
});
/* Add form group temporarily to the parent form to prevent a form submit with an invalid birth date
FM: commented out because child components don't change parent components' stuff
this.form.addControl('birthday-form', this.dateForm); */
}
it('should format max', () => {
const error = validate(3, Validators.max(2));
expect(error).toEqual('MY_FIELD must be less or equal to \'2\'.');
});
updateValidators(): void {
const crendetialsType = this.deviceCredentialsFormGroup.get('credentialsType').value as DeviceCredentialsType;
switch (crendetialsType) {
case DeviceCredentialsType.ACCESS_TOKEN:
this.deviceCredentialsFormGroup.get('credentialsId').setValidators([Validators.max(20), Validators.pattern(/^.{1,20}$/)]);
this.deviceCredentialsFormGroup.get('credentialsId').updateValueAndValidity();
this.deviceCredentialsFormGroup.get('credentialsValue').setValidators([]);
this.deviceCredentialsFormGroup.get('credentialsValue').updateValueAndValidity();
break;
case DeviceCredentialsType.X509_CERTIFICATE:
this.deviceCredentialsFormGroup.get('credentialsValue').setValidators([Validators.required]);
this.deviceCredentialsFormGroup.get('credentialsValue').updateValueAndValidity();
this.deviceCredentialsFormGroup.get('credentialsId').setValidators([]);
this.deviceCredentialsFormGroup.get('credentialsId').updateValueAndValidity();
break;
}
}
constructor(fb: FormBuilder, private router: Router) {
this.searchForm = fb.group({
title : [, Validators.minLength(2)],
minPrice: [, Validators.min(0)],
maxPrice: [, [Validators.min(0), Validators.max(10000)]]
}, {
validator: [ minLessThanMaxValidator ]
});
}
@Input() public set max(value: string) {
this._validator = Validators.max(parseFloat(value));
}
validate(c: FormControl) {
if (this.type !== 'number') {
return null;
}
return {
...Validators.max(this.max)(c),
...Validators.min(this.min)(c)
};
}
initForm() {
this.controls.min.setValidators(Validators.required);
this.controls.max.setValidators(Validators.required);
this.controls.max.enable();
if (this.isFirst) {
const min = this.globalMinDistance;
this.minValue = min;
const max = this.globalMaxDistance;
this.controls.max.setValidators([Validators.required, Validators.min(min + 1), Validators.max(max)]);
this.controls.min.setValue(min);
}
if (this.isLast) {
this.controls.max.disable();
}
}
public validate(c: FormControl) {
if (this.type !== 'number') {
return null;
}
return {
...Validators.max(this.max)(c),
...Validators.min(this.min)(c)
};
}
getValidations(): ValidatorFn {
if (this.type !== 'select') {
return Validators.compose([
Validators.required,
Validators.min(this.allowZeroQuantity ? 0 : this.product.minOrderQuantity),
Validators.max(this.product.maxOrderQuantity),
SpecialValidators.integer,
]);
}
}