提交 77acfead 编写于 作者: zhangpingchuan's avatar zhangpingchuan

zpc---修复编辑器是数据选择和地址框,值变更,不会触发表单值校验bug

上级 e01300af
<#assign import_block>
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import Schema from "async-validator";
</#assign>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_HEADER.tsx.ftl
......@@ -410,6 +411,29 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
return;
}
this.data[$event.name] = $event.value;
this.validateItem($event.name,$event.value);
}
/**
* 校验单个表单项
* @param item
* @param value
*/
validateItem(item:string, value:any) {
// 做校验
// 1.获取数值和规则
const rule = this.rules[item];
// 2.创建校验规则
const schema = new Schema({ [item]: rule })
// 校验返回Promise
return schema.validate({ [item]: value },undefined,errors => {
if (errors) {
// 有错
this.detailsModel[item].setError(errors[0].message);
} else {
this.detailsModel[item].setError('');
}
})
}
/**
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册