📅  最后修改于: 2023-12-03 15:20:56.507000             🧑  作者: Mango
Validators.pattern('0-9*')
是 Angular Forms 中的一个验证器,它用于验证输入值是否符合指定的正则表达式模式。在此例中,它验证输入值只包含数字(0-9)。
static pattern(pattern: string | RegExp): ValidatorFn
pattern
:一个正则表达式模式(字符串或正则表达式实例)。返回一个验证函数 ValidatorFn
,用于在表单控件的值发生更改时进行验证。
import { Validators } from '@angular/forms';
// 创建表单控件
const input = new FormControl('', Validators.pattern('0-9*'));
// 尝试设置不符合 pattern 的值
input.setValue('abc123');
console.log(input.valid); // false
// 尝试设置符合 pattern 的值
input.setValue('999');
console.log(input.valid); // true
上述示例创建了一个简单的表单控件 input
,并使用 Validators.pattern
方法将其配置为验证输入值只包含数字。
设置值为 'abc123'
的时候,控件的 valid
属性值为 false
,这是因为该值不符合正则表达式的要求(包含非数字字符)。
而将值设置为 '999'
的时候,控件的 valid
属性值为 true
,这是因为该值符合正则表达式的要求(只包含数字字符)。
总之,Validators.pattern
方法可以帮助我们轻松地实现输入格式相关的表单控件验证。