LoginPasswordValidate.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop开源商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | gitee下载:https://gitee.com/likeshop_gitee
  7. // | github下载:https://github.com/likeshop-github
  8. // | 访问官网:https://www.likeshop.cn
  9. // | 访问社区:https://home.likeshop.cn
  10. // | 访问手册:http://doc.likeshop.cn
  11. // | 微信公众号:likeshop技术社区
  12. // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
  13. // | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
  14. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  15. // | likeshop团队版权所有并拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshop.cn.team
  18. // +----------------------------------------------------------------------
  19. namespace app\api\validate;
  20. use app\common\basics\Validate;
  21. use app\common\logic\SmsLogic;
  22. /**
  23. * Class LoginPasswordValidate
  24. * @package app\api\validate
  25. */
  26. class LoginPasswordValidate extends Validate
  27. {
  28. protected $regex = ['password' => '^(?=.*[a-zA-Z0-9].*)(?=.*[a-zA-Z\\W].*)(?=.*[0-9\\W].*).{6,20}$'];
  29. protected $rule = [
  30. 'mobile' => 'require|mobile',
  31. 'password' => 'require|confirm:password|regex:password',
  32. // 'repassword' => 'require|confirm:password',
  33. 'code' => 'require|checkCode',
  34. ];
  35. protected $message = [
  36. 'mobile.require' => '请输入手机号',
  37. 'password.require' => '请输入密码',
  38. 'password.regex' => '密码格式错误',
  39. // 'repassword.require' => '请再次输入密码',
  40. // 'repassword.confirm' => '两次密码输入不一致',
  41. 'code.require' => '请输入验证码',
  42. 'mobile.mobile' => '非有效手机号码'
  43. ];
  44. /**
  45. * @notes 验证码
  46. * @param $value
  47. * @param $rule
  48. * @param $data
  49. * @return array|bool|string
  50. * @author suny
  51. * @date 2021/7/13 6:29 下午
  52. */
  53. public static function checkCode($value, $rule, $data)
  54. {
  55. $res = SmsLogic::check($data['message_key'], $data['mobile'], $value);
  56. if (false === $res) {
  57. return SmsLogic::getError();
  58. }
  59. return true;
  60. }
  61. }