maf*_*maf 6 validation angular
我用输入创建了自己的数字微调器组件实现:
<span ...>
<input
type="text"
class="form-control ui-spinner-input"
#spinnerModel="ngModel"
[ngModel]="parameter.value"
(ngModelChange)="onNgModelChange($event)"
[spinnerValidator]="parameter"
/>
<button ...
Run Code Online (Sandbox Code Playgroud)
我想在某些情况下修改输入值,例如,用户输入的值超过最大限制,我想将值设置为允许的最大值.当我在onNgModelChange中执行此操作时,验证存在问题.
例如,最大值为100,但用户输入150,这是发生的情况:
如何正确修改该值?
编辑
有一个验证的解决方法:
onNgModelChange(newObj: any) {
...
setTimeout(() => {
this.spinnerModel.control.setValue(numericValue, {onlySelf: false, emitEvent: true, emitModelToViewChange: true, emitViewToModelChange: false});
}, 0);
...
}
Run Code Online (Sandbox Code Playgroud)
其中numericValue是应该应用的篡改值.尽管GUI中存在一个小问题,因为首先处理无效值,并且GUI会在几分之一秒内注意到它,然后应用新的/有效值.
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |