Sms.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace app\api\validate;
  10. use app\common\validate\Validate;
  11. use think\facade\Db;
  12. class Sms extends Validate {
  13. protected $rule = [
  14. "username" => "require|mobile",
  15. "type" => "checkSmsType",
  16. "code" => "checkCodes"
  17. ];
  18. protected $message = [
  19. "username.require" => "请填写手机号码",
  20. "username.mobile" => "您填写的手机号码不正确",
  21. //"code.require" => "请填写验证码"
  22. ];
  23. protected $scene = [
  24. "sms"=>["username","type","code"]
  25. ];
  26. protected function checkSmsType($value, $rule, $data=[]){
  27. if(empty($value) || !in_array($value,["register","repassword"])){
  28. return "非法操作";
  29. }
  30. if($value == "repassword" && Db::name("users")->where("mobile",$data["username"])->count() <= 0){
  31. return "您填写的手机号码不存在!";
  32. }
  33. if($value == "register" && Db::name("users")->where("mobile",$data["username"])->count() > 0){
  34. return "您填写的手机号码已被使用!";
  35. }
  36. return true;
  37. }
  38. protected function checkCodes($value, $rule, $data=[]){
  39. if(empty($data["username"])){
  40. return "请填写手机号码";
  41. }
  42. return true;
  43. }
  44. }