首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取角FormControl Validators.max()值

获取角FormControl Validators.max()值
EN

Stack Overflow用户
提问于 2022-09-15 12:52:43
回答 1查看 35关注 0票数 0

我正在制作一个以FormControl作为输入的组件。

在这个组件中,如果formControls值等于Validator.max()值,我想禁用一个按钮。

代码语言:javascript
复制
this.formC = this.fb.control( // formcontrol created in the parent component
   maxValue,
     [
        Validators.max(maxValue),
        Validators.min(1),
        Validators.required
     ]);
代码语言:javascript
复制
 <!-- Button used in the child component -->
 <button
    mat-flat-button
    color="accent"
    [disabled]="maxValue" // here I´d like to get the  Validators.max() value
    (click)="increaseQuanity()"
  >+</button>

当然,我可以将最大值解析为一个@Input(),但我希望找到一种更优雅的方法。

EN

回答 1

Stack Overflow用户

发布于 2022-09-15 12:59:38

不能根据FormControl的值禁用按钮。根据它的.invalid属性禁用它。

所以你的验证器会照顾Max,以及Min和Required。如果其中任何一个被违反,FormControl就变成.invalid。如果FormControl是FormGroup的一部分,这也会变得无效。

因此,只需将禁用的绑定绑定到.invalid:

代码语言:javascript
复制
<button
    mat-flat-button
    color="accent"
    [disabled]="formC.invalid" // here I´d like to get the  Validators.max() value
    (click)="increaseQuanity()"
  >+</button>

希望这能有所帮助。如果我错过了什么,告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73731502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档