tp6控制器里直接调用验证器

本文介绍了如何在ThinkPHP6中使用validate函数进行电话号码($phone)和复杂密码规则验证($pwd),包括正则表达式和确认密码校验。两种方法对比,展示了在不同场景下的错误处理和验证逻辑。
摘要由CSDN通过智能技术生成
public function vilidate_test(){
    $phone = input('phone');
    $pwd = input('pwd');
    $pwd_confirm = input('pwd_confirm');
    $data = [
        'phone'                 => $phone
        ,'pwd'                  => $pwd
        ,'pwd_confirm'          => $pwd_confirm
    ];
    $rule = [
        'phone'                 => 'require|mobile'
        ,'pwd'                  => ['require','confirm','regex'=>'/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,}$/'] // tp6验证器规定‘如果正则表达式中包含有|符号的话,必须使用数组方式定义’
    ];
    $fun_type = 2;// 推荐用方法2省得写异常捕获
    if($fun_type == 1){
        // 方法1:基础BaseController控制器里的validate函数需要用try捕获不然验证失败会直接抛出异常(需要继承BaseController才可以用)
        try {
            $result = $this->validate($data,$rule);
        } catch (\Exception $e){
            print_r($e->getMessage());// 验证失败原因
        }
    } else if($fun_type == 2){
        // 方法二:tp里的Validate类
        $validate = \think\facade\Validate::rule($rule);
        if (!$validate->check($data)) {
            print_r($validate->getError());// 验证失败原因
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值