dcat admin 如何设置表单更新不能编辑

表单提交情况

1.新增,email字段可以输入
2.修改: 如果email字段为空,则可以输入,如果email字段不为空,则不能编辑修改

请问这种情况该怎样做呢,内置有相应的方法吗?

            $form->creating(function (Form $form) {
                $form->text('email');
            });
            $form->editing(function (Form $form) {
                if($this->email){
                    $form->text('email')->value($this->email)->readOnly();
                }else{
                    $form->text('email')->value($this->email);
                }

            });

我用了这个方法,页面操作的没有问题的,但是提交数据时,email 就没有成功提交

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

设置行操作按钮 (actions)
思路无非就是页面渲染的时候,判断这一行的email为不为空,不为空就不显示编辑按钮,为空就显示编辑按钮,而不是在form里去判断。

6个月前 评论
lddtime 6个月前
她来听我的演唱会 (作者) 6个月前

写js判断吧,name = 字段名

6个月前 评论

提交时候 你是编辑状态下email是否有值,有值重新赋值保存

6个月前 评论
Mutoulee
if ($form->isEditing() && $form->model()->email) {
    $form->text('email')->disable();
} else {
    $form->text('email')->required();
}
6个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!