应用场景:
AutoForm1使用包含A、B两个字段的DataType1。
A字段不允许为空,并且B字段取值true时A字段需要重新输入,B取其它值时A值不需重新录入。
实现方法:A字段添加了非空检验器,DataType1的onDataChange事件中添加逻辑,如果B值变为true时,并且A值非空时设置A值为null(即清空A)。
Dorado7本身机制:在A输入值时或者UpdataAction提交AutoForm1数据实体时均会触发该非空校验器。
结果1:在B变为true而清空A值时,会再次触发A字段的非空校验器,因此用户在修改B字段值为true时A字段就会提示错误。
总结:如果代码逻辑错误,比如提交Entity数据前B字段值为true,而A字段校验通过了,那么在UpdataAction提交执行时A字段校验器不会再次触发,则可能会导致录入错误格式数据。