作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 angular2 中,我想在更改另一个控件时触发某些控件的验证器。有什么方法可以告诉表单重新验证吗?更好的是,我可以请求验证特定字段吗?
例子:给定复选框 X 并输入 P。输入 P 有一个验证器,它根据 X 的模型值表现不同。当 X 被选中/未选中时,我需要调用 P 上的验证器。P 上的验证器将查看模型以确定 X 的状态并相应地验证 P。
这是一些代码:
constructor(builder: FormBuilder) {
this.formData = { num: '', checkbox: false };
this.formGp = builder.group({
numberFld: [this.formData.num, myValidators.numericRange],
checkboxFld: [this.formData.checkbox],
});
}
this.formGp.controls['checkboxFld'].valueChanges.observer({
next: (value) => {
// I want to be able to do something like the following line:
this.formGp.controls['numberFld'].validator(this.formGp.controls['numberFld']);
}
});
有人有解决办法吗?谢谢!
最佳答案
我不知道你是否还在寻找答案,所以这是我的建议:
看看这个:Angular 2 - AbstractControl
我认为您可以执行以下操作:
this.formGp.controls['checkboxFld'].valueChanges.observer({
next: (value) => {
this.formGp.controls['numberFld'].updateValueAndValidity();
}
});
这应该会触发并运行验证器。此外,状态也会更新。现在您应该能够在验证器逻辑中查询复选框值。
关于forms - 如何在 Angular2 中触发表单验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32260082/
我计划在网页上安装 Facebook 评论模块/插件,比方说: http://www.example.com/ 是否可以将用户重定向到网站内的另一个登录页面?假设我想在点击发表评论后将它们发送到这里:
我是一名优秀的程序员,十分优秀!