<?php
//针对参数类型开启严格模式,进行数据类型检验
declare (strict_types = 1);
namespace app\validate;
use think\Validate;

class User extends Validate
{	
    //定义规则
    protected $rule = [
        'uname|用户名' =>'require|unique:user',
        'password|密码'=>'require|min:6',
        'email|邮箱'=>"require|email|unique:user|max:16",
        'mobile|手机号'=>"require|mobile|unique:user"
    ];
    //定义错误信息
    protected $message = [];
    //定义场景
    protected $scene = [
        'edit'=>['email']
    ];
    //单独为单个场景定义的方法
    public function sceneEdits()
    {
        return $this->only(['uname','email'])
            ->remove('email',['max:16','unique:user']);
    }
}

代码中使用

  1. 使用定义场景
//引入两个插件
use app\validate\User as UserValidate;
use think\facade\Validate;
//edits 即为 上面的公共函数去除 scene的内容 
    validate(UserValidate::class)->scene('edits')->check($data);
  1. 使用单独为单个场景定义的方法
//引入两个插件
use app\validate\User as UserValidate;
use think\facade\Validate;
//edit 即为 上述私有属性中的字段
    validate(UserValidate::class)->scene('edit')->check($data);

原文地址:http://www.cnblogs.com/w-m-y/p/16874977.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性