обязательное заполнение дополнительных полей

Можно ли как то сделать проверку на то, что пользователь заполнил дополнительные поля и загрузил фото в топик?

Похожие статьи

  • Добавит чекбокс, показывать контакты на сайте
    Всем доброго времени суток. Подскажите, как добавить на сайт чекбокс показывать контакты на сайте. Хочу добавить к массиву со значениями полей булевое поле, и делать проверку, если есть то показывать на сайте....
  • Работа с дополнительными полями
    Здравствуйте. Часто спрашивают про использование дополнительных полей в Альто и что бы хоть немного снять вопросы по этой теме был написан этот топик. Дополнительные поля – это довольно мощный инструмент для...
  • Дополнительные поля у блога
    Очень нужны дополнительные поля у блога, такие же как сейчас можно сделать для типов контента. Реально ли это сделать и как?
  • Вывод дополниетных полей в разных местах шаблона
    В alto можно добавлять дополнительные поля для типов контента. при этом они выводятся в конце шаблона циклом.Вопрос собственно в том, как можно их выводить по отдельности? например если я создал два поля. Одно поле...

5 комментариев

0
неужели только я столкнулся с тем что дополнительные поля нужны обязательно заполненные?
0
На уровне движка есть класс validator. Не разобрался пока как это навесить на доп поля.
0
В общем вчера сидел над этим весь день. Там проблема немного глубже чем навесить валидатор. Движок сначала добавляет топик, а уже потом обрабатывает и добавляет дополнительные поля в Topic_processfields(). В итоге я разбил processfields() на две функции в первой только обработка (processfields) а во второй уже непосредственное добавление (addfields). Как прикрутить валидатор я тоже не разобрался поэтому сделал просто проверку на наличие реквеста и если его нет хотя бы по одному полю, то processfields возвращает false.если все ок то возвращает массив Data который потом передается в addfields. Получилось естественно велосипедисто, но хотя бы работает.

а проблема с проверкой загрузки фото в моем случае решилась просто.

if($this->oType->isAllow('photoset') && !$oTopic->getPhotosetMainPhotoId()) { 
			$this->Message_AddErrorSingle($this->Lang_Get('topic_create_error_no_main_photo'),$this->Lang_Get('error'));
			return false; 
		}
0
Думаю, понятно, что делать это надо отдельным плагином.

И я бы cделал примерно так: создается плагин для конкретного сайта (напр., PluginMine, где переопределяется ActionContent, в котором расширяем метод checkTopicFields($oTopic):
class PluginMine_ActionContent extends PluginMine_Inherits_ActionContent
    protected function checkTopicFields($oTopic) {
        // сначала вызываем стандартную проверку
        $bResult = parent::checkTopicFields($oTopic);
        // а теперь проверяем заполнение дополнительных полей
        if (empty($_REQUEST['fields'][2])) {
            $this->Message_AddError('Поле не заполнено', $this->Lang_Get('error'));
            $bResult = false;
        }
        return $bResult;
    }
}
0
Спасибо, попробую привести к такому виду.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.