В модели есть поле createtime время создание в timestamp(int)
Но в форме есть 3 поля для ввода поля, число - например 2013-03-23 и часы и минуты к примеру 20:30
Когда происходит submit мы просто ->createtime=mktime(......
Но если по какой-то причине не пройдена валидация, надо вернутся в форму с ошибкой и с введенными значениями, как лучше это сделать.
Я пока делаю дополнительные свойства типа date,hours в самой модели, а в базу не пишу, а может есть еще какой-то способ.
Поля формы
Re: Поля формы
обычно createtime - это время создания записи, которое не редактируется. И при этом присваевается на сервере, а не от пользователя приходит.
Если же всё же через дополнительные свойства решите делать, то не забудьте указать их в правилах валидации
Советую обратить внимание на тип date и в частности на CDateValidator
Если же всё же через дополнительные свойства решите делать, то не забудьте указать их в правилах валидации
Советую обратить внимание на тип date и в частности на CDateValidator
-
- Сообщения: 339
- Зарегистрирован: 2012.05.29, 16:31
Re: Поля формы
Я createtime для примера просто привел.ToxaDR писал(а):обычно createtime - это время создания записи, которое не редактируется. И при этом присваевается на сервере, а не от пользователя приходит.
Если же всё же через дополнительные свойства решите делать, то не забудьте указать их в правилах валидации
Советую обратить внимание на тип date и в частности на CDateValidator
У меня есть модель со свойством starttime=INT
вот в форме мне требуется вводить данные но в человеческом формате типа 2013-03-24 20:30
Если не прошла валидаюция сама модель, к примеру забыли поле title заполнить, надо вернуть на форму с уже вводивщимися данными, чтобы человек заново не вводил, но в модели есть только свойство starttime.
Re: Поля формы
Код: Выделить всё
$time = $_POST['time'];
$model->time = mktime($_POST['time']);
if (!$model->validate()) $model->time = $_POST['time']
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Поля формы
Код: Выделить всё
MyModel extends CActiveRecord
{
public $createdate;
public rules ()
{
...
array('createtime' 'unsafe'),
array('createdate' 'date', ....'timestampAttribute'=>'createtime'),
...
}
}