Есть таблица [id, name, sname] id: Pk, autoincrement
Валидное добавление записи:
[color="#9ACD32"]1. [1, Вася, Петров][/color]
[color="#9ACD32"]2. [2, Женя, Петров][/color]
[color="#9ACD32"]3. [3, Вася, Иванов][/color]
[color="#FF0000"]4. [4, Вася, Петров] - Invalid Уже есть![/color]
Не подскажите как мне правильно написать RULE для этой таблицы? Я конечно могу запрос sql посылать на проверку такой записи в таблице, но интересно выяснить как в таких случаях выглядит всё в AR?
/**
* @return array validation rules for model attributes.
*/
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('name, sname', 'required'),
array('*', 'chek'),
array('name, sname', 'length', 'max'=>255),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, name, sname', 'safe', 'on'=>'search'),
);
}
/**
* @validate function Chek().
*/
public function chek($attribute, $params)
{
$chek=self::model()->findByAttributes
(
array('name'=>$this->name,
'sname'=>$this->sname));
if($chek!==null)
{
$this->addError('error', 'Такая запись уже существует!');
}
}