Всем привет!
Есть правила валидации в модели:
[['object_id', 'release_date'], 'required'],
[['release_date'], 'date', 'format' => 'dd.MM.yyyy', 'timestampAttribute' => 'release_date'],
[['object_id'], 'integer'],
[['object_id', 'release_date'], 'unique',
'targetAttribute' => ['object_id', 'release_date']],
[['object_id'], 'exist', 'skipOnError' => true, 'targetClass' => Object::class, 'targetAttribute' => ['object_id' => 'id']],
Для каждого объекта можно добавить только одну дату и минимальная дата должна быть текущая дата.
С этими правилами работает все нормально, но можно добавить прошедшие даты.
Добавляю 'min' => time() к описанию release_date и получаю ошибку
SQLSTATE[22P02]: Invalid text representation: 7 ОШИБКА: неверное значение для целого числа: "02.12.2018"
The SQL being executed was: SELECT EXISTS(SELECT * FROM "test" WHERE ("test"."object_id"='3') AND ("test"."release_date"='02.12.2018'))
В базе дата хранится как метка времени.
Календарь выводится виджетом DatePicker:
echo $form->field($model, 'release_date')->widget(DatePicker::class, [
'clientOptions' => [
'minDate' => 'new Date()',
],
'dateFormat' => 'dd.MM.yyyy',
'options' => ['class' => 'form-control'],
])
Не пойму что я делаю не так ?