Как создать собственный валидатор формы в 2 ввода?Я хочу проверить, что одно входное число всегда больше другого.
ValidateMaxMin(control: FormControl) {
console.log(control.value.productMin);
if (control.value.productMin != 0) {
return { hasError: true };
}
return null;
}
this.productForm = this.fb.group ({ //form validator for create and update
'_id': [ "" ],
'productName': [ "", Validators.compose([Validators.required, Validators.pattern(/^[a-zA-Z\s]*$/), Validators.minLength(1), Validators.maxLength(50)]) ],
'supplierId': [ "", Validators.compose([Validators.required, Validators.pattern(/^[a-f\d]{24}$/i), Validators.minLength(24), Validators.maxLength(24)]) ],
'brandId': [ "", Validators.compose([Validators.required, Validators.pattern(/^[a-f\d]{24}$/i), Validators.minLength(24), Validators.maxLength(24)]) ],
'categoryId': [ "", Validators.compose([Validators.required, Validators.pattern(/^[a-f\d]{24}$/i), Validators.minLength(24), Validators.maxLength(24)]) ],
'productPrice': [ "", Validators.compose([Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1), Validators.max(99999)]) ],
'productQuantity': [ "", Validators.compose([Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1), Validators.max(99999)]) ],
'productMax': [ "", Validators.compose([Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1), Validators.max(99999)]) ],
'productMin': [ "", Validators.compose([Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(0), Validators.max(99999), this.ValidateMaxMin ]) ],
});
В приведенном выше коде я могу проверить только одно конкретное поле, тогда как мое намерение состоит в том, чтобы указать / получить два поля и сравнить их.