• 验证器
    • msg :验证不通过是显示的错误消息 没有这个方法的话会走默认消息
    • validateRole:表示验证权限,如果没有通过默认会报你没有权限
  • 所有验证方法

    验证器

    如果需要验证的内容不多建议在控制器的方法里进行验证,如果需要验证的内容比较多可以在控制器的前置方法里进行验证;

    1. public function test( $cat_id, $name,$age,File $file) {
    2. validate($name,'名称')->required()->length(4,10);
    3. validate($age,'年龄')->min(14)->required();
    4. validate($cat_id,'分组id')->between(1,100);
    5. validate($file)->msg('文件不可为空')->fileSize(1000*1024*1024);
    6. validateParam("id",'id')->required();
    7. }

    验证方式

    1. /**
    2. * 检查参数
    3. *
    4. * @param string $name 参数
    5. * @param string $as_name 显示名称 默认空
    6. * @param bool $throw 是否抛异常 默认 true
    7. *
    8. * @return \rap\web\validate\Validate
    9. */
    10. function validate($name, $as_name='', $throw = true) {
    11. return \rap\web\validate\Validate::param($name, $as_name, $throw);
    12. }
    1. /**
    2. * 检查 request 里的参数
    3. *
    4. * @param string $name request 中获取的参数名称
    5. * @param string $as_name 显示名称 默认空
    6. * @param bool $throw 是否抛异常 默认 true
    7. *
    8. * @return \rap\web\validate\Validate
    9. */
    10. function validateParam($name, $as_name = '', $throw = true) {

    默认遇到任何验证不通过,都会抛出异常如果不想抛出异常指向验证结果

    1. $vali = validate($name,'名称',false)->required()->length(4,10);
    2. if(!$vali->isValidate){
    3. $msg = $vali->msg;
    4. }

    msg :验证不通过是显示的错误消息 没有这个方法的话会走默认消息


    默认 msg 是可以走 lang 多语言下的validate 下的配置的

    1. validate($file)->msg('文件不可为空')->fileSize(1000*1024*1024);

    validateRole:表示验证权限,如果没有通过默认会报你没有权限


    1. validateRole($name,'name') 相当于 $validate($name,'name')->msg('role')

    所有验证方法


    方法含义
    required必须
    isTrue结果是 true
    accepted接受 ['1', 'on', 'yes']
    isDate是否是一个有效日期
    isAlpha只允许字母
    isAlphaNum只允许字母和数字
    isAlphaDash只允许字母、数字和下划线 破折号
    isChs只允许中文
    isChsAlpha只允许中文字母
    isChsAlphaNum只允许中文字母数子
    isChsDash只允许中文、字母、数字和下划线及破折号-
    activeUrl检查有效可访问的域名或ip
    url有效的网址
    float检查浮点数
    number检查数字
    integer检查整数
    email检查邮箱
    boolean检查boolean
    isArray检查数组
    file检查文件
    fileExt检查文件后缀
    fileMime检查文件类型
    fileSize检查文件大小
    image检查是否图片
    confirm验证是否和某个字段的值一致
    different验证是否和某个字段的值不同
    egt验证是否大于等于
    gt验证是否大于
    elt验证是否小于等于
    lt验证是否小于
    eq验证是否等于
    dateFormat验证时间格式
    requireIfEq当两个值相等时必须
    requireWhen当回调为真是必须
    requireWith当另一个值存在时必须
    in检查在范围内
    notIn检查不在范围内
    min最小值
    max最大值
    between在两值之间
    notBetween不在两值之间
    length长度范围
    regex符合正则
    regex符合正则
    unique检查数据库是唯一值
    allowIp允许的ip
    denyIp禁止的ip
    before验证日期在前
    after验证日期在_后
    expire验证有效期

    特殊说明unique 检查数据库是唯一值如 book 表的 code 为唯一值验证方法

    validate($code,'识别码')->required()->unique(Book::class,'code');
    可能有部分方法没有经过完整测试,大家写的过程中还是需要自己试下的,

    上一篇:多语言   下一篇:Redis 分布式锁