Dorado7检验器失效原因分析

应用场景:

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字段校验器不会再次触发,则可能会导致录入错误格式数据。

岁月留痕
原文地址:https://www.cnblogs.com/navigate/p/4962550.html