php5.0 正则,thinkphp5 validate 正则验证

该博客介绍了ThinkPHP框架中一个自定义的会员验证器类`User`,用于验证用户账号和密码。验证器包含了账号必须由数字、字母或下划线组成的正则表达式规则,以及账号存在的唯一性检查。在`add`场景下,账号和密码都需要验证,而在`edit`场景下,只验证密码。当账号已存在时,验证器会返回错误信息。
摘要由CSDN通过智能技术生成

validate/User.php

namespace app\home\validate;

use think\Validate;

use think\Db;

/**

* 会员验证器

*/

class User extends Validate{

protected $regex = [ 'username' => '[A-Za-z0-9_]+'];

protected $rule = [

'userAccount' => 'require|checkUserAccount:1|regex:username',

'userPass' => 'require|min:5',

];

protected $message = [

'userAccount.require' => '账号不能为空',

'userAccount.regex' => '用户名必须是数字、字母或下划线!',

'userPass.require' => '密码不能为空',

'userPass.min' => '密码不能少于5个字符',

];

protected $scene = [

'add' => ['userAccount','userPass'],

'edit' => [], // 编辑的时候,不用验证账号,因为账号不能修改

];

protected function checkUserAccount($value){

$where = [];

$where['dataFlag'] = 1;

$where['userAccount'] = $value;

$rs = Db::name('user')->where($where)->count();

return ($rs==0)?true:'账号已存在';

}

}

调用

public function ceshi(){

$data['userAccount'] = 'zhangsan';

$validate = new validate();

if(!$validate->scene('add')->check($data)){

dump($validate->getError());

die;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值