<?php
namespace app\admin\validate;
use think\Validate;
class Cate extends Validate
{
protected $rule = [
'catename' => 'require|max:25|unique',
];
//错误提示:
protected $message = [
'catename.require' => '栏目名称必须填写',
'catename.max' => '栏目名称长度不得大于25位',
'catename.unique' => '栏目名称已存在',
];
protected $scene = [
'add' => ['catename'=>'require|unique'],
'edit' => ['catename'=>'require'],
];
}要验证catename这个字段的唯一性,再次添加的时候,如果数据库中已经有了,就要提示已经存在。控制器中的写法:
public function add()
{
if(request()->isPost()){
$data = [
'catename'=>input('catename'),
];
$validate = \think\Loader::validate('Cate');
if(!$validate->scene('add')->check($data)){
$this->error($validate->getError());
die;
}
if(Db::name('cate')->insert($data)){
return $this->success('添加栏目成功','lst');//添加成功后跳转到lst方法;
}else{
return $this->error('添加栏目失败,请稍后重试');
}
return;
}
return $this->fetch();
}但实际上在操作添加栏目的时候就提示错误:
最佳答案