引言:今天使用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问答社区
非引流哦官方给我通过!!!!!!