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

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

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

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

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

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

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

扫描二维码关注公众号,回复: 17530168 查看本文章

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

解决办法:

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

 看看他上面贴的代码:

 

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

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

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问答社区

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

猜你喜欢

转载自blog.csdn.net/m0_55735473/article/details/131959652