angular – 具有动态值的最大值验证器
发布时间:2020-12-17 18:00:08 所属栏目:安全 来源:网络整理
导读:我有一个服务,它返回一个代表用户资金的值,我希望用户能够进行等于或小于总金额的交易.我试过像这样使用max validation: valid() { const form: FormGroup = this._fb.group({ fond: ['',[Validators.required]],serie: ['',account: ['',[Validators.requi
我有一个服务,它返回一个代表用户资金的值,我希望用户能够进行等于或小于总金额的交易.我试过像这样使用max validation:
valid() { const form: FormGroup = this._fb.group({ fond: ['',[Validators.required]],serie: ['',account: ['',[Validators.required,Validators.min(1)]],value: ['',subAccount: ['',Validators.min(1)]] }); return form; } 但是它不起作用,似乎必须从头开始设置max()中的值,因此它将假设totalAmount为undefined. 解决方法
更新已修改的问题:
用这个: value: ['',[ Validators.required,Validators.min(1),(control: AbstractControl) => Validators.max(this.totalAmount)(control) ]] 您可以使用以下语法实现此目的: (control: AbstractControl) => Validators.max(this.totalAmount)(control) 为什么? >当您提供Validators.max(this.totalAmount)时,它会使用给定参数(this.totalAmount的当前值)创建验证函数,然后将其分配给表单控件.>使用胖箭头功能时,分配给窗体控件的是胖箭头定义本身.每次调用胖箭头函数时(在有效性检查期间),它会重新评估Validators.max(this.totalAmount)并使用this.totalAmount的当前值创建新的验证函数,从而使其成为动态的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从scala调用java时的java.lang.IllegalAccessError – solu
- angularjs – 在用户验证后设置$httpProvider默认标头
- 使用bash检查行是否为空
- Cannot retrieve metalink for repository: epel/x86_64. P
- bash – 如何等待脚本生成的所有子(和孙等)进程
- angular – 如何在HttpClient中的查询字符串中传递数组?
- osx – 如何通过命令行启动咆哮
- angular 知识总结
- playframework – .target目录在我的Play 2.1.1项目中来自哪
- Swagger / OpenAPI:如何在构建过程中集成typescript / ang