123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- // +----------------------------------------------------------------------
- // | A3Mall
- // +----------------------------------------------------------------------
- // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Author: xzncit <158373108@qq.com>
- // +----------------------------------------------------------------------
- namespace app\api\validate;
- use app\common\models\Setting;
- use app\common\validate\Validate;
- use think\facade\Db;
- class Forget extends Validate {
- protected $rule = [
- "username" => "require|mobile|checkMobiles",
- "password" => "require|checkPasswords",
- "code" => "require|checkCodes"
- ];
- protected $message = [
- "username.require" => "请填写手机号码",
- "username.mobile" => "您填写的手机号码不正确",
- "password.require" => "请填写密码",
- "code.require" => "请填写验证码"
- ];
- protected $scene = [
- "forget"=>["username","password","code"]
- ];
- protected function checkMobiles($value, $rule, $data=[]){
- if(!Db::name("users")->where("mobile",$value)->count()){
- return "您填写的手机号码不存在!";
- }
- return true;
- }
- protected function checkPasswords($value, $rule, $data=[]){
- if(preg_match("/(\s)/i",$value)){
- return "密码不能包含空格字符!";
- }
- $len = mb_strlen($value,"UTF8");
- if($len < 6 || $len > 18){
- return "密码长度请控制在6-18字符!";
- }
- return true;
- }
- protected function checkCodes($value, $rule, $data=[]){
- if(empty($data["username"])){
- return "请填写手机号码";
- }
- if(!$sms = Db::name("users_sms")->where("mobile",$data["username"])->where("code",$value)->order("id","DESC")->find()){
- return "您填写的验证码错误";
- }
- $config = Setting::getArrayData("sms");
- if(($sms["create_time"] + (60 * $config["duration_time"])) < time()){
- return "您的验证码已过期,请重新发送。";
- }
- return true;
- }
- }
|