javascript-Angular 5仅对模糊进行验证?
作者:互联网
我想知道是否有可能以模糊的反应形式进行验证.目前,您可以设置updateOn:“ blur”,但是输入字段的值不会在输入时更新.在我的情况下,我需要在每次击键时更新值,因为我会用它进行计算并将结果显示给用户.验证应仅在模糊时进行.
谢谢.
编辑:
我使用FormBuilder,一些内置的验证器和一些自定义的验证器.示例代码:
let formToMake = {
purpose: [null, Validators.required],
registrationDate: this.fb.group({
day: [null, Validators.required],
month: [null, Validators.required],
year: [null, Validators.required]
}),
isTruth: [null, Validators.compose([checkIfTrue, Validators.required])]
};
如果我要使用模糊事件,则需要手动进行所有验证,但我认为这不是一个好方法.
解决方法:
我最终做了什么:
使用反应形式:
TS
这是表格.我需要productCost和loanAmount在模糊时进行验证,但值本身需要在onchange时更新.如果设置updateOn:“ blur”,则验证将在模糊事件之后进行,但是als值将在模糊事件之后进行更新.
let formToMake = {
productCost: new FormControl(null, {validators: Validators.required, updateOn: "blur"}),
loanAmount: new FormControl(null, {validators: Validators.compose([Validators.required, Validators.min(2500)]), updateOn: "blur"}),
loanLength: new FormControl(49, {validators: Validators.required, updateOn: "change"})
};
handleInput方法:
为了解决这个问题,我只做了一个事件处理程序,它将在输入事件上调用.
TS
handleInput(e: any) {
this.loanAmount = e;
}
的HTML
<input class="form__input" type="number" value="{{loanForm.get('loanAmount').value}}" id="loanAmount" formControlName="loanAmount" (input)="handleInput($event.target.value)">
标签:angular,angular5,javascript 来源: https://codeday.me/bug/20191025/1926845.html