RegisterForm.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: chenkuan
  5. * Date: 2017/12/26
  6. * Time: 上午11:37
  7. */
  8. namespace wechat\models\forms;
  9. use wechat\models\IndexApi;
  10. use yii\base\Model;
  11. class RegisterForm extends Model
  12. {
  13. public $name;
  14. public $mobile;
  15. public $email;
  16. /**
  17. * @return array
  18. */
  19. public function rules()
  20. {
  21. return [
  22. ['name', 'required', 'message' => '姓名不能为空'],
  23. ['mobile', 'required', 'message' => '手机号码不能为空'],
  24. ['email', 'required', 'message' => '邮箱不能为空'],
  25. ['name', 'match', 'pattern' => '/[\x{4e00}-\x{9fa5}]{2,4}/u', 'message' => '姓名必须是2-4位中文'],
  26. ['mobile', 'match', 'pattern' => '/^1\d{10}$/', 'message' => '手机号码不正确'],
  27. ['email', 'email', 'message' => '邮箱不正确'],
  28. ];
  29. }
  30. public function register()
  31. {
  32. if ($this->validate()) {
  33. $api = new IndexApi();
  34. $data = [];
  35. $data['name'] = $this->name;
  36. $data['mobile'] = $this->mobile;
  37. $data['email'] = $this->email;
  38. $result = $api->saveRegister($data);
  39. if ($result['code'] == 1) {
  40. return true;
  41. } else {
  42. if (is_array($result['message'])) {
  43. $this->addErrors($result['message']);
  44. } else {
  45. $this->addError('name', $result['message']);
  46. }
  47. }
  48. }
  49. return !$this->hasErrors();
  50. }
  51. }