Задать вопрос
@EVOSandru6

Как в Yii сделать поле fileField обязательным?

Добрый день, такая проблема.

Есть модель Slider с текстовыми свойствами и с внешним ключом на модель, которая хранит имена файлов.

После валидации формы, когда жму на кнопку сохранить, появляется сообщение:

Необходимо заполнить поле «Изображение». Хотя я выбрал изображение для загрузки. Правила в модели указаны ниже, в чем может быть ошибка?

Основная модель связана с моделью картинок через Forign Key, связь указана в rules. Integer only с поля Photo в основной модели Slider я убрал.

В форме поле отображается таким образом.

<?php echo $form->labelEx($model, 'PHOTO'); ?>
<?php echo $form->error($model, 'PHOTO'); ?>
<?php echo $form->fileField($model, 'PHOTO'); ?>


В модели файл описан тут:

public function attributeLabels()
	{
		return array(
                        ....
			'PHOTO' => 'Код',
                        ....
                )
        }

public function relations()
	{
		return array(
                        // связочная на модель, где хранятся названия картинок
                        ... 
			'photo' => array(self::BELONGS_TO, 'Photo', 'PHOTO'),
                        ... 
		);
	}

public function rules()
	{

		return array(
                        ...
			array('NAME, PHOTO', 'required'),
                        array('PHOTO', 'file', 'types' => 'jpg, png, gif', 'allowEmpty' => true),
                        ...
                );
	}


Отказываться от обязательности загрузки файла изображения нельзя. Помогите добрые дед морозы!
  • Вопрос задан
  • 2970 просмотров
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Alibek_Mussin
@Alibek_Mussin
PHP-разработчик
Надежнее всего делать валидацию и на клиенте и на серваке
Попробуйте так:
<?php echo $form->fileField($model, 'PHOTO',array('required'=>true)); ?>
И на серваке то, что написал парнишка выше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы