10], // [['cardNumber'], 'validateCustomerCard' ], [['password_plain' ] ,'string','min' =>6 ], [['partnerCardNumber'], 'string', 'max' => 10], [['partnerCardNumber'], 'validatePartnerCard' ], [['name'], 'required' ], [['name'], 'string', 'max' => 128], [['email'], 'string', 'max' => 255], [['email'], 'email' ], [['email'], 'unique' ], [['email'], 'required', 'when' => function($model) { return !isset( $model->email ) || empty($model->phone) ; } , 'whenClient' => "function (attribute, value) { return false; }", 'message' => Yii::t('customer/backend','E-mail or phone number required!') ], [['password_plain' ], 'string', 'max' => 32], [['sex'], 'integer'], [[ 'birthdate', ], 'date' ], [[ 'date_stundent_card_expire', ], 'date' ], [[ 'description', 'address'], 'string', 'max' => 255], [['phone', 'tax_number', 'country'], 'string', 'max' => 20], [['bank_account'], 'string', 'max' => 24], [['bank_name'], 'string', 'max' => 100], [['phone'], 'required', 'when' => function($model) { return !isset( $model->email ) || empty( $model->email ) ; } , 'whenClient' => "function (attribute, value) { return false; }", 'message' => Yii::t('customer/backend','E-mail or phone number required!') ], [['zip'], 'string', 'max' => 8], [['city'], 'string', 'max' => 30] ]; } public function validateCustomerCard($a,$p){ // Customer::find()->andWhere( [$this->cardNumber ) } public function validatePartnerCard($a,$p){ // Customer::find()->andWhere( [$this->cardNumber ) } /** * @param bool $insert * @return bool * @throws \yii\base\Exception * @throws \yii\base\InvalidConfigException */ public function beforeSave($insert) { $result = parent::beforeSave($insert); if ($result && !empty($this->password_plain)) { $this->setPassword($this->password_plain); return true; } return $result; } }