При добавлении записи нужно сделать обязательное поле для сохранения файла и не обязательное при редактировании
При добавлении записи нужно сделать обязательное поле для сохранения файла и не обязательное при редактировании
Так в чем проблема? Делайте, если надо.
Делать нужно самому. Такого в yii нет.
Что-то вот такое:
public function rules()
{
return array(
array('myfield','myvalidation')
....
}
public function myvalidation()
{
if (!isset($this->myfield)
$this->addError('myfield','Myfield is required field')
}
Ну или можно более элегантно с использованием сценариев:
public function rules()
{
return array(
array('myfield','required', 'on'=>'add_scenario')
....
}
Собственно действительно в чем проблема? Извините но ваш вопрос изначально поставлен некорректно(нет самого вопроса )
Не знал как это сделать, сделал с помощью сценария, спасибо
Вы можете использовать сценарии, например:
model:
public function rules()
{
return array(
array('file', 'required', 'on'=>'newRecord'),
),
);
}
controller:
$model = new Model();
$model->scenario = 'newRecord';
или расширить функцию валидации:
// В модели пишите примерно так:
public function validate($attributes = NULL, $clearErrors = true)
{
if ($this->isNewRecord) {
$this->validatorList->add(CValidator::createValidator('required', $this, 'file'));
}
return parent::validate($attributes, $clearErrors);
}
$model->scenario(‘create’);
$model->setScenario(‘create’);
разницы нет?
первое вроде не должно работать. Должно быть равноценно:
$model->scenario= 'create';
$model->setScenario('create');