我正在构建一个 Angular 4 反应形式。到目前为止,我对最后 4 个 ssn 有以下验证规则:
last4Ssn: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(4), Validators.pattern('^[0-9]+$')]],
模板:
<label>Last 4 SSN
<input formControlName="last4Ssn" >
{{ shortForm.get('last4Ssn').errors | json }}
<div
class="error"
*ngIf="shortForm.get('last4Ssn').hasError('required') && shortForm.get('last4Ssn').touched">
Name is required
</div>
<div
class="error"
*ngIf="shortForm.get('last4Ssn').hasError('minlength') && shortForm.get('last4Ssn').touched">
Minimum of 4 characters
</div>
</label>
这正确地指出了错误。例如,如果我输入“dn4”,我会打印出以下内容:
{ "minlength": { "requiredLength": 4, "actualLength": 3 },
"pattern": { "requiredPattern": "^^[0-9]+$$", "actualValue": "dn#" } }
我如何才能真正阻止用户输入字母或特殊字符?这是否超出了 Angular 的内置功能,我需要构建一些自定义的东西?