我有一个表单,我想在其中一个输入框中添加一个模式验证器,以便只允许0到130之间的数字。我是新的编码,我不知道我在做什么。我希望输入框变红或有一些错误信息,如果另一个数字/字母写。
siv3szwd1#
您可以使用模式验证:
'myField': ['', [Validators.pattern('^(?=(?:.{0}|.{130})$).*$')]]
或者您可以定义一个验证器函数,如下所示:
function between(x, min, max) { return x >= min && x <= max; } function ratingRange(min: number, max: number): ValidatorFn { return (c: AbstractControl): { [key: string]: boolean } | null => { if (c.value !== null && (isNaN(c.value) || c.value < min || c.value > max) || !this.between(c.value , min , max)) { return { range: true }; } return null; }; }
然后:
'myField': [null, ratingRange(0, 130)],
umuewwlo2#
您可以使用以下Angular 内置验证器:
field = new FormControl([minLength(0), maxLength(130]);
比正则表达式更快,另一种选择是像Chady BAGHDADI说的那样构建自己的验证器。
2条答案
按热度按时间siv3szwd1#
您可以使用模式验证:
或者您可以定义一个验证器函数,如下所示:
然后:
umuewwlo2#
您可以使用以下Angular 内置验证器:
比正则表达式更快,另一种选择是像Chady BAGHDADI说的那样构建自己的验证器。