Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何检查用户输入是否小于角度2中的最大值_Angular_Input_Range_Conditional Statements_Minimum - Fatal编程技术网

Angular 如何检查用户输入是否小于角度2中的最大值

Angular 如何检查用户输入是否小于角度2中的最大值,angular,input,range,conditional-statements,minimum,Angular,Input,Range,Conditional Statements,Minimum,我想创建一个角度范围过滤器。用户不能输入小于最大输入值的最小值 HTML: 我不知道该怎么办。我想我必须在.ts文件中创建两个变量(minValue和maxValue)。然后使用*ngIf直接在HTML中检查,如果minValue小于maxValue,则发送一个错误 有人知道如何正确地解决它吗?非常感谢您需要在更改“from”formControl时设置验证器 试着这样做: ngOnInit() { ... this.contactForm.get("from&qu

我想创建一个角度范围过滤器。用户不能输入小于最大输入值的最小值

HTML:


我不知道该怎么办。我想我必须在.ts文件中创建两个变量(minValue和maxValue)。然后使用*ngIf直接在HTML中检查,如果minValue小于maxValue,则发送一个错误


有人知道如何正确地解决它吗?非常感谢

您需要在更改“from”formControl时设置验证器

试着这样做:

ngOnInit() {
    ...
    this.contactForm.get("from").valueChanges.subscribe(val => {
      this.contactForm.get("to").setValidators(Validators.min(val));
    });
}

您可以像下面这样尝试

component.html

<form [formGroup]="frmGrp">
    <input type="number" formControlName="fromValue" [min]="toCtrl.value" [value]="getMinValue()">
    <input type="number" formControlName="toValue">
</form>

这里是工作

最小值可以是任何值,最大值不应该小于最小输入值,对吗?这就是你的问题吗?
<form [formGroup]="frmGrp">
    <input type="number" formControlName="fromValue" [min]="toCtrl.value" [value]="getMinValue()">
    <input type="number" formControlName="toValue">
</form>
export class AppComponent implements OnInit {
  name = 'Angular ' + VERSION.major;

  frmGrp: FormGroup;
  fromCtrl: AbstractControl;
  toCtrl: AbstractControl;

  constructor(private fb: FormBuilder) {}

  ngOnInit() {
    this.frmGrp = this.fb.group({
      fromValue: [0],
      toValue: [0]
    });

    this.fromCtrl = this.frmGrp.get('fromValue') as FormControl;
    this.toCtrl = this.frmGrp.get('toValue') as FormControl;
  }

  getMinValue() {
    if (this.toCtrl.value > this.fromCtrl.value) {
      this.fromCtrl.setValue(this.toCtrl.value);
    }
    return this.fromCtrl.value;
  }
}