您现在的位置是: 网站首页>详情 文章详情

tp5 validate 验证

erhas2019-12-19 10:46:27php

验证器验证
<?php
namespace app\\index\\validate;
use think\\Validate;
class Cate extends Validate
{
    /**
     * 验证规则
     * @var array
     */
    protected $rule=[
        'catename'=>'unique:cate|require|max:25',
    ];

    /**
     * 错误提示信息
     * @var array
     */
    protected $message=[
        'catename.require'=>'栏目名称不得为空!',
        'catename.unique'=>'栏目名称不得重复!',
    ];

    /**
     * 验证场景
     * @var array
     */
    protected $scene=[
        'add'=>['catename'],
        'edit'=>['catename'],
    ];
}

控制器
public function add()
    {
        //  实例化模型
        $cate = new CateModel();
        //  判断是否是POST提交数据
        if ($this->request->isPost()) {
            //  获得post提交过来的数据
            $data = Request::post();
            //  实例化验证器
            $validate = new \\app\\index\\validate\\Cate;
            //  验证器验证
            if (!$validate->scene('add')->check($data)) {
                $this->error($validate->getError());
            }
            //  数据添加 返回 1 或者 0
            $add = $cate->save($data);
            if ($add) {
                $this->success('添加栏目成功!', url('index/cate/lst'));
            } else {
                $this->error('添加栏目失败!');
            }
        }
        //  调用模型的 catetree 拿到数据
        $cateres = $cate->catetree();
        //  对页面进行赋值
        $this->assign('cateres', $cateres);
        return $this->fetch();
    }
独立验证
//  用用户的添加
  public function userAdd(Request $request,Validate $validate)
{
                $data     = $request->param();
                $status   = 1;
                $message  = "添加成功";
                $validate->rule([
                    'uname|用户名'      => "require",
                    'upass|密码'       => "require|min:6|max:32",
                    'urealname|真实姓名' => "require",
                    'utel|电话'        => 'require|mobile',
                    'uemail|邮箱'      => 'require|email',
                    'uaddress|地址'    => "require",
                ]);
                if (!$validate->check($data)) {
                    return ['status' => 0, 'message' => $validate->getError()];
                } else {
                    $user = UserModel::create($data);
                    if ($user === null) {
                        $status  = 0;
                        $message = '添加失败';
                    }
                }
                addLog("添加了用户");
                return ['status' => $status, 'message' => $message];
            }