2
我正在验证Angular2中的表单,我使用了默认验证器和一些自定义验证函数进行验证。此外,我从服务器实施异步验证。现在的问题是,它正在验证对change事件的控制,并在该控件的每个按键上执行一个jax请求。我希望执行该ajax请求在模糊的控制上执行。在模糊或任何其他事件上验证angular2控件
有什么办法来控制该控件的验证?或对模糊或任何其他事件执行验证?
我正在验证Angular2中的表单,我使用了默认验证器和一些自定义验证函数进行验证。此外,我从服务器实施异步验证。现在的问题是,它正在验证对change事件的控制,并在该控件的每个按键上执行一个jax请求。我希望执行该ajax请求在模糊的控制上执行。在模糊或任何其他事件上验证angular2控件
有什么办法来控制该控件的验证?或对模糊或任何其他事件执行验证?
如果你想手动控制验证,你可以使用setErrors
类AbstractControl
(我假设你正在使用模型驱动或在组件中使用FormControl的引用)。
所以,千万不要硬编码的验证功能,以您的形式开始
this.userNameFormControl = this.formBuilder.control(""/*, Validators.required*/);
相反,订阅您的自定义事件,并手动验证控制:
validateUserName() {
let validationResult = Validators.required(this.userNameFormControl);
if (validationResult) {
this.userNameFormControl.setErrors(validationResult);
}
}
注:这些代码线没有经过测试。
我相信这不是一个好主意。因为在我的应用程序中,我需要验证模糊上的所有字段。所以像这样写每个领域的验证是复杂的,我认为不是很好的实践。寻找其他答案。 –