在Angular中,我们可以使用FormGroup和FormControl来实现表单验证。如果您使用min验证器来检查数字的最小值,可能会遇到以下问题:hasError min始终返回false,即使数字小于最小值。这是因为默认情况下,FormControl的值被转换为字符串并与规定的最小值进行比较。因此,您需要使用parseInt或parseFloat将FormControl的值转换为数字。下面是一个使用FormControl的示例,其中数字小于最小值时错误消息将显示出来:
HTML代码:
TypeScript代码:
import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
@Component({
selector: 'app-user-form',
templateUrl: './user-form.component.html',
styleUrls: ['./user-form.component.scss']
})
export class UserFormComponent {
userForm = new FormGroup({
age: new FormControl(null, [Validators.required, Validators.min(18)]) // 设置最小值为18
});
}
在上面的示例中,我们使用了Validators.min(18)来设置最小值为18。如果用户输入的年龄小于18岁,则会出现错误消息。最后,我们在HTML模板中使用userForm.get('age').errors.min来检查控件是否包含一个min错误,如果是,则显示错误消息。