Angular 空白字符的验证?角度4
我需要在我的表单上创建某种验证,我不希望用户能够在字段中输入1++空格。所以,他可以键入空格,但不能只键入空格。目前我的验证是这样的:Angular 空白字符的验证?角度4,angular,validation,Angular,Validation,我需要在我的表单上创建某种验证,我不希望用户能够在字段中输入1++空格。所以,他可以键入空格,但不能只键入空格。目前我的验证是这样的: this.valForm = this.fb.group({ 'firstName': [null, Validators.compose([Validators.required, Validators.maxLength(50)])], 'lastName': [null, Validators.compose([Validators
this.valForm = this.fb.group({
'firstName': [null, Validators.compose([Validators.required, Validators.maxLength(50)])],
'lastName': [null, Validators.compose([Validators.required, Validators.maxLength(50)])]
});
我不知道使用什么模式来创建这种类型的验证。谢谢。您只需创建一个自定义验证器来检查
userInputString.trim() !== ''
验证器只不过是一个函数,它接受一个控件并返回它是否有效(作为布尔值或承诺/可观察值)
有关更多详细信息,请查看angular 2+中定制验证器的任何示例,例如
你可以做
'firstName': [null, [Validators.required, Validators.maxLength(50), Validators.pattern(/^((?!\s{2,}).)*$/)]]
如果使用链^((?!\s{2,})。*$
对其进行测试,您会发现
Hello darling // Matches
Hello darling // Doesn't match
这不是正则表达式应该做的事情:他们不擅长。正则表达式应该在字符串中查找表达式的出现,而不是相反。但是,他们仍然可以做到
如果您想了解更多信息,这称为负面环视用户只能输入一个空格,对吗?@ArunKumaresh用户可以输入空格,但不能仅输入字段内的空格,因此它可以是“示例值”,但不能是“”,“”,诸如此类,不是吗。indexOf(“”)检查场地内是否有空位?哦,对不起,我误解了你的问题,请稍候,我会调整我的答案