angular - FormGroup 已弃用
问题描述
我已经看到了一些相关的问题和答案,但不幸的是这些对我没有多大帮助。
ngOnInit(): void {
this.form = this.fb.group({
newPassword: ['', [Validators.required, Validators.minLength(6), Validators.maxLength(12)]],
confirmPassword: [''],
}, {validators: this.checkPasswords(this.form)});
}
checkPasswords(group: FormGroup) {
let pass = group.controls.password.value;
let confirmPass = group.controls.confirmPassword.value;
return pass === confirmPass ? null : { notSame: true }
}
get newPassword() {
return this.form.get("newPassword");
}
get confirmPassword() {
return this.form.get("confirmPassword");
}
这一点我在this.fb.group中遇到了错误。我希望我的自定义验证器工作并在视图中显示错误消息,但我没有这样做。
谁能告诉这个错误的真正含义以及如何轻松解决这个问题?
解决方案
您用于创建 a 的重载FormGroup
已弃用。使用另一个重载来实现这一点,将表单validators
作为ValidatorFn | ValidatorFn[]
或仅通过传递方法this.checkPasswords
而不调用它this.checkPasswords(this.form)
,如下所示:
ngOnInit(): void {
this.form = this.fb.group(
{
newPassword: [
'',
[
Validators.required,
Validators.minLength(6),
Validators.maxLength(12),
],
],
confirmPassword: [''],
},
{ validators: this.checkPasswords }
);
}
推荐阅读
- d3.js - 如何将文本添加到 d3.js 强制定向圆圈?
- python - 如何在我的程序中同时移动两只海龟?
- python - 无法从 newegg.com 的 price-save-percent 容器中提取文本
- python - python中的2D和3D频谱图
- r - R:阶乘的尾随零数
- spring-boot - 创建类路径资源中定义的名称为“entityManagerFactory”的bean时出错:模式验证:缺少表[association_value_entry]
- java - Java:为什么函数的 ArrayList 参数会影响不同的 ArrayList
- javascript - Reactjs 让一个组件可以被其他组件控制的最佳实践?
- php - 在用户中止匹配之前执行 SQL 查询
- android - Android - API 级别 21 中的日期