Fastadmin使用验证器时在编辑时的唯一性验证出现的错误和解决方法

引言:今天使用fastadmin做后台的时候,有个字段要验证唯一性,当然我一开始最喜欢、最想用的还是在模型里面写验证规则,但是好像行不通,在验证器里面写也是行不通。

问题的产生(为啥我会遇到这个问题)

 写这个后台的时候客户要求编号字段要唯一,然后我就想着用模型验证一下:

这种方法学tp的人肯定都会知道的

 然后我就有了下面的写法,没问题的吧,但是!!!

添加是没有问题,但是编辑这也太过分了!!!!!

后面我换了验证器的,也是一样!!!!服了

解决办法:

我在网上找了好久都没找到,然后偶然的情况下在一篇文章中看到!!!!

 看看他上面贴的代码:

 

 这位大神的解决方法:他是去看父类的方法

根据他的结构写了一下,完美解决!!! 

public function __construct(array $rules = [], $message = [], $field = [])
    {
        $this->field = [
            'bianhao' => __('bianhao')
        ];
        parent::__construct($rules, $message, $field);
    }

在控制器中记得开启

    protected $modelValidate = true;
    protected $modelSceneValidate = true;

实现效果:

编辑的也保存成功:

 添加的也有验证唯一性:

新手少踩坑,加油!!!!!

放一下那位老哥的连接:为了防止数据重复开启了验证器,数据add添加后再次编辑edit也提示已存在 - FastAdmin问答社区

非引流哦官方给我通过!!!!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小于晏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值