Привет, у меня проблема с методом rules() одной из моих моделей приложений.
Вот правила():
public function rules()
{
$newRules = array(
array('password_verification', 'required'),
array('password_verification', 'length', 'min'=>6, 'max'=>32),
array('password', 'compare', 'compareAttribute'=>'password_verification'),
array('username, email', 'length', 'min'=>3,'max'=>255),
array('password', 'length','min'=>6, 'max'=>32),
array('username, email', 'unique'),
array('email', 'email'),
array('valid_until_formated','compare',
'compareAttribute'=>'valid_from_formated','operator'=>'>'),
array('id, type,username, password, password_verification, email, valid_from, valid_until, valid_until_formated, valid_from_formated, added_on, created_by','safe'),
);
}
(извините за формат кода).
И вот проблема:
Я хочу проверить, больше ли значение valid_until_formated, чем значение valid_from_formated.
Когда я отправляю форму с неправильными значениями (valid_from больше, чем vali_ until), я получаю сообщение об ошибке, я вижу его в firebug, но значения вставляются в базу данных.
Но, например, если я попытаюсь использовать уже используемое имя пользователя или пароль с меньшим количеством символов, чем 6, у меня возникнет ошибка, и в базе данных ничего не будет создано?
Кто-нибудь знает, почему это правило не работает (даже если я получаю сообщение об ошибке)? (это формат valid_until_formated, например: 20121118)
Спасибо, что читаете меня и извините за мой приблизительный английский.
Хорошего дня :)
Майкл