首先在对应的validate文件下的php文件里定义
protected function check_name($value,$rule,$data){ $res=model('GoodsType')->get(['name'=>$value,'pid'=>$data['pid']]); if($res){ return '分类名重复!'; }else{ return true; } }
这里我是要做一个验证顶级分类或者某个一级分类下的二级分类是否重复
自定义好规则后 在rule里添加你的字段要验证的方法
protected $rule = [ 'name'=>'check_name' ];
然后添加验证场景
protected $scene = [ 'add' => ['name'], 'edit' => ['name'], ];
然后回到控制器定义
protected $modelValidate=true;
这里开启模型验证
走到这一步本来就可以了。。
但是我发现了一个小问题那就是 在backend.php的add方法
这里的Exception需要加上
所以我们在控制器的开头加上这段代码
use Exception;
到这里就结束了。。看看运行结果!!
运行成功!!!
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。