رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
unique کردن همزمان دو فیلد در yii و تولید ارور
#1
سلام.

فرض کنید من نمیخوام همزمان یه نفر با یک ایمیل و شماره موبایل تو سایتم عضو بشه و بخوام بگم اگه تو یک رکورد اگه این ایمیل و موبایل به صورت همزمان وجود داشت ارور تولید بشه.
جدا جدا رو میتونم چک کنم اما میخوام در صورتی که هر دوتاشون در یک رکورد مشترک بودن ارور بده
array('mobile', 'unique','message' =>("این شماره از قبل در سیستم موجود است")),
array('email', 'unique','message' =>("این ایمیل از قبل در سیستم موجود است")),
پاسخ
تشکر شده توسط:
#2
میتونید از ولیدیتورهای دستی استفاده کنید. مثال:
public function rules()
{
    // ...
    array('mobile, email', 'uniqueME'),
}

public function uniqueME($attribute, $params)
{
    if(!$this->{$attribute}) {
        $this->addError($attribute, $this->getAttributeLabel($attribute) . ' نمی تواند خالی باشد.');
        return;
    }
    if(self::model()->exists('LOWER(email)=:email AND mobile=:mobile', array(':email' => strtolower($this->email), 'mobile' => $this->mobile))) {
        $this->addError($attribute, 'کاربری با این ایمیل و موبایل در سیستم وجود دارد.');
    }
}
پاسخ
تشکر شده توسط: abdollah110110




کاربران در حال بازدید این موضوع: 1 مهمان