Запрет иметь значение в relations
Запрет иметь значение в relations
Добрый день,
Как реализовать relations (или не relations) так чтобы не позволялось записать в поле, например email, если в другой таблице а каком-то поле это значение (уникальное) уже есть.
Имеется в виду на уровне $model->save(), $model->update() валидатор ошибку выдавал.
Спасибо.
Как реализовать relations (или не relations) так чтобы не позволялось записать в поле, например email, если в другой таблице а каком-то поле это значение (уникальное) уже есть.
Имеется в виду на уровне $model->save(), $model->update() валидатор ошибку выдавал.
Спасибо.
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Запрет иметь значение в relations
в rules CUniqueValidator
Re: Запрет иметь значение в relations
Можно пример кода?
Re: Запрет иметь значение в relations
Пиши свой валидатор и вызывай его в rules()
Re: Запрет иметь значение в relations
Послушайте, вы можете код схематично набросать?
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Запрет иметь значение в relations
В google забанили вас чтоли? Зачем тут пример кода, если всё гуглится отличноvasya_k писал(а):Можно пример кода?
Код: Выделить всё
public function rules()
{
return array(
array('email','unique','message'=>'такой email уже существует')
)
}
Последний раз редактировалось Neuromance 2013.08.21, 13:30, всего редактировалось 1 раз.
Re: Запрет иметь значение в relations
Я вам рекомендую внимательно просчитать мой первый пост.
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Запрет иметь значение в relations
тогда правильно тебе там написали.Пиши свой валидатор, а уже в нём ройся в другой таблице и ищи такое же значение, как у тебяvasya_k писал(а):Я вам рекомендую внимательно просчитать мой первый пост.
Re: Запрет иметь значение в relations
Ну я и спрашиваю как это сделать? Я не предлагаю вам написать за меня мой валидатор, я спрашиваю как это делается, где в коде надо что прописать чтобы вызывался мой валидатор и чтобы он выдавал мое сообщение об ошибке.
Re: Запрет иметь значение в relations
товарищъ, мануал!vasya_k писал(а):Ну я и спрашиваю как это сделать? Я не предлагаю вам написать за меня мой валидатор, я спрашиваю как это делается, где в коде надо что прописать чтобы вызывался мой валидатор и чтобы он выдавал мое сообщение об ошибке.
http://www.yiiframework.com/doc/guide/1 ... odel#sec-3
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
-
- Сообщения: 101
- Зарегистрирован: 2012.06.05, 14:32
- Откуда: Петрозаводск
- Контактная информация:
Re: Запрет иметь значение в relations
Зачем писать свой валидатор, если все уже придумано:
Код: Выделить всё
public function rules()
{
return array(
array('email','unique','className'=>'Имя класса', 'attributeName'=>'Имя атрибута','message'=>'такой email уже существует')
)
}
- Neuromance
- Сообщения: 716
- Зарегистрирован: 2011.09.06, 13:04
Re: Запрет иметь значение в relations
а Имя класса - это не свой валидатор чтоли?dmeroff писал(а):Зачем писать свой валидатор, если все уже придумано:
Код: Выделить всё
public function rules() { return array( array('email','unique','className'=>'Имя класса', 'attributeName'=>'Имя атрибута','message'=>'такой email уже существует') ) }
Re: Запрет иметь значение в relations
unique: CUniqueValidator, проверяет значение на уникальность.
allowEmpty, может ли значение равняться null или быть пустым.
attributeName, имя атрибута класса ActiveRecord, используемое для проверки значения.
caseSensitive, является ли сравнение регистронезависимым.
className, имя класса ActiveRecord, используемого для проверки.
criteria, дополнительный критерий запроса.
http://www.yiiframework.com/doc/api/1.1 ... eValidator
Было правильно сказано, что не нужно писать свой валидатор.
allowEmpty, может ли значение равняться null или быть пустым.
attributeName, имя атрибута класса ActiveRecord, используемое для проверки значения.
caseSensitive, является ли сравнение регистронезависимым.
className, имя класса ActiveRecord, используемого для проверки.
criteria, дополнительный критерий запроса.
http://www.yiiframework.com/doc/api/1.1 ... eValidator
Было правильно сказано, что не нужно писать свой валидатор.