| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- namespace common\forms;
- use Yii;
- use common\enums\MemberTypeEnum;
- use common\enums\StatusEnum;
- use common\helpers\ArrayHelper;
- use common\models\member\Member;
- /**
- * Class MemberForm
- * @package common\forms
- * @author jianyan74 <751393839@qq.com>
- */
- class MemberForm extends Member
- {
- /**
- * @var int
- */
- protected $defaultType = MemberTypeEnum::MEMBER;
- /**
- * @return array|array[]
- */
- public function rules()
- {
- return ArrayHelper::merge(parent::rules(), [
- [['mobile'], 'uniqueMobile'],
- [['username'], 'uniqueUsername'],
- [['email'], 'uniqueEmail'],
- [['id'], 'safe'],
- ]);
- }
- /**
- * @param $attribute
- */
- public function uniqueUsername($attribute)
- {
- $member = Yii::$app->services->member->findByCondition([
- 'and',
- ['username' => $this->username],
- ['type' => $this->defaultType],
- ['>=', 'status', StatusEnum::DISABLED]
- ]);
- if (
- !empty($member) &&
- $member->id != $this->id
- ) {
- $this->addError($attribute, '该账号已存在');
- }
- }
- public function uniqueMobile($attribute)
- {
- $member = Yii::$app->services->member->findByCondition([
- 'and',
- ['mobile' => $this->mobile],
- ['type' => $this->defaultType],
- ['>=', 'status', StatusEnum::DISABLED]
- ]);
- if (
- !empty($member) &&
- $member->id != $this->id
- ) {
- $this->addError($attribute, '该手机号码已存在');
- }
- }
- public function uniqueEmail($attribute)
- {
- $member = Yii::$app->services->member->findByCondition([
- 'and',
- ['email' => $this->email],
- ['type' => $this->defaultType],
- ['>=', 'status', StatusEnum::DISABLED]
- ]);
- if (
- !empty($member) &&
- $member->id != $this->id
- ) {
- $this->addError($attribute, '该邮箱已存在');
- }
- }
- }
|