表单插件中中断保存、提交操作原创
金蝶云社区-浅笑黯然
浅笑黯然
7人赞赏了该文章 2,191次浏览 未经作者许可,禁止转载编辑于2021年06月08日 16:05:03

有时候我们在做表单插件时可能会碰到一些效验的需求,若效验不通过呢就不允许保存或者提交,但又不想做操作服务插件,所以在表单插件内也可以中断保存或者提交操作拉。

如果要中断保存操作,那就在BeforeSave(保存前事件)内操作,

如果要中断提交操作,那就在BeforeSubmit(提交前事件)内操作,

为啥不能在after内操作嘞,因为after中你已经保存/提交完成了,对应的事务也已经走完了,所以这个时候进行中断是来不及的噢

附上代码

 public override void BeforeSave(BeforeSaveEventArgs e)

        {

            base.BeforeSave(e);

            if (pro)

            {

                //取消保存标志

                e.Cancel = true;

                //抛出异常 以此中断插件打到中断操作的效果

                throw new Exception(probo);

            }

        }

        public override void BeforeSubmit(BeforeSubmitEventArgs e)

        {

            base.BeforeSubmit(e);

            if (pro)

            {

                //取消保存标志

                e.Cancel = true;

                //抛出异常 以此中断插件打到中断操作的效果

                throw new Exception(probo);

            }

        }


image.png

若有抄袭请及时联系本人进行删除

赞 7