// +---------------------------------------------------------------------- namespace app\api\validate; use app\common\validate\Validate; use think\facade\Db; class Sms extends Validate { protected $rule = [ "username" => "require|mobile", "type" => "checkSmsType", "code" => "checkCodes" ]; protected $message = [ "username.require" => "请填写手机号码", "username.mobile" => "您填写的手机号码不正确", //"code.require" => "请填写验证码" ]; protected $scene = [ "sms"=>["username","type","code"] ]; protected function checkSmsType($value, $rule, $data=[]){ if(empty($value) || !in_array($value,["register","repassword"])){ return "非法操作"; } if($value == "repassword" && Db::name("users")->where("mobile",$data["username"])->count() <= 0){ return "您填写的手机号码不存在!"; } if($value == "register" && Db::name("users")->where("mobile",$data["username"])->count() > 0){ return "您填写的手机号码已被使用!"; } return true; } protected function checkCodes($value, $rule, $data=[]){ if(empty($data["username"])){ return "请填写手机号码"; } return true; } }