Angular 如何检查用户输入是否小于角度2中的最大值
我想创建一个角度范围过滤器。用户不能输入小于最大输入值的最小值 HTML: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
我不知道该怎么办。我想我必须在.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;
}
}