我是Angular 6的新用户(肯定是Angular Platform的总..),并且存在以下问题。我知道Angular 6使用了非常强大的客户端用户输入验证方法。因此,除了这些标准方法之外,我们是否需要使用其他任何客户端验证方法(用于标准问题,例如数字,电子邮件地址,特殊字符,必填字段等)?谢谢您的帮助。
答案 0 :(得分:0)
这完全取决于您的要求。例如,如果您有不同的电子邮件验证方案,但是Angular提供了其他不符合您要求的方案,那么您必须为其编写自定义验证。这就是Angular还提供编写here的自定义验证方法的原因。
答案 1 :(得分:0)
角度
提供一组可供表单使用的内置验证器 控件
https://angular.io/api/forms/Validators
对于许多应用程序来说,这些验证器可能就足够了,但是Angular还可以让您定义自己的验证器。我需要一个验证器来确定输入的数字是否有效:
static numValidator(): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } => {
if (!control) {
return {};
}
const value = control.value;
if (!value) {
return {};
}
else if (isNaN(parseFloat(value)) || !isFinite(value)) {
return { 'number': true }
}
return {};
};
}
像这样使用:
inputYear: [, [FormUtils.numValidator(), FormUtils.numLengthValidator(4)]],
验证消息:
validationMessages = {
inputYear: { number: 'Must be a number', length: 'Must be 4 digits' }
}