您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > 易优教程 >
    易优eyoucms验证场景指南
    时间:2024-12-03 20:29 作者:菜鸟哥 浏览:收藏 挑错 打印

    5.0.4 增加hasScene方法用于检查是否存在验证场景

    可以在定义验证规则的时候定义场景,并且验证不同场景的数据,例如:

    $rule = [

    'name' => 'require|max:25',

    'age' => 'number|between:1,120′,

    'email' => 'email',

    ];

    $msg = [

    'name.require' => '名称必须',

    'name.max' => '名称最多不能超过25个字符',

    'age.number' => '年龄必须是数字',

    'age.between' => '年龄只能在1-120之间',

    'email' => '邮箱格式错误',

    ];

    $data = [

    'name' => 'thinkphp',

    'age' => 10,

    'email' => 'thinkphp@qq.com',

    ];

    $validate = new Validate($rule);

    $validate->scene('edit', ['name', 'age']);

    $result = $validate->scene('edit')->check($data);

    表示验证edit场景(该场景定义只需要验证name和age字段)。

    如果使用了验证器,可以直接在类里面定义场景,例如:

    namespace appindex alidate;

    use thinkValidate;

    class User extends Validate

    {

    protected $rule = [

    'name' => 'require|max:25',

    'age' => 'number|between:1,120′,

    'email' => 'email',

    ];

    protected $message = [

    'name.require' => '名称必须',

    'name.max' => '名称最多不能超过25个字符',

    'age.number' => '年龄必须是数字',

    'age.between' => '年龄只能在1-120之间',

    'email' => '邮箱格式错误',

    ];

    protected $scene = [

    'edit' => ['name','age'],

    ];

    }

    然后再需要验证的地方直接使用 scene 方法验证

    $data = [

    'name' => 'thinkphp',

    'age' => 10,

    'email' => 'thinkphp@qq.com',

    ];

    $validate = new ppindex alidateUser($rule);

    $result = $validate->scene('edit')->check($data);

    可以在定义场景的时候对某些字段的规则重新设置,例如:

    namespace appindex alidate;

    use thinkValidate;

    class User extends Validate

    {

    protected $rule = [

    'name' => 'require|max:25',

    'age' => 'number|between:1,120′,

    'email' => 'email',

    ];

    protected $message = [

    'name.require' => '名称必须',

    'name.max' => '名称最多不能超过25个字符',

    'age.number' => '年龄必须是数字',

    'age.between' => '年龄只能在1-120之间',

    'email' => '邮箱格式错误',

    ];

    protected $scene = [

    'edit' => ['name','age'=>'require|number|between:1,120′],

    ];

    }

    可以对场景设置一个回调方法,用于动态设置要验证的字段,例如:

    $rule = [

    'name' => 'require|max:25',

    'age' => 'number|between:1,120′,

    'email' => 'email',

    ];

    $msg = [

    'name.require' => '名称必须',

    'name.max' => '名称最多不能超过25个字符',

    'age.number' => '年龄必须是数字',

    'age.between' => '年龄只能在1-120之间',

    'email' => '邮箱格式错误',

    ];

    $data = [

    'name' => 'thinkphp',

    'age' => 10,

    'email' => 'thinkphp@qq.com',

    ];

    $validate = new Validate($rule);

    $validate->scene('edit', function($key,$data){

    return 'email'==$key && isset($data['id'])? true : false;

    });

    $result = $validate->scene('edit')->check($data);

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    易优Eyoucms栏目添加自定义字段易优Eyoucms栏目添加自定义字段
    易优eyoucms:网站文章发布时间年月日加上时分易优eyoucms:网站文章发布时间年月日
    Eyoucms指定栏目加nofollow的方法Eyoucms指定栏目加nofollow的方法