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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

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

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

写js判断吧,name = 字段名

10个月前 评论

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

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

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