Вход • Регистрация

Обязательное для заполнение поле

  • 26 октября 2016 г.
  • Как можно сделать в своем модуле?
    В $variables не нашел параметра, не уж то костылять через js или кастомизацию?
  • 27 октября 2016 г.
  • При добавлении нового поля в форму можно поставить галочку обязательно для заполнения.
  • 27 октября 2016 г.
  • Про те формы понятно, меня интересует при описании полей формы админ части модуля.
  • 28 октября 2016 г. , редакция: 28 октября 2016 г.
  • Цитата
    ОБЯЗАТЕЛЬНОЕ ДЛЯ ЗАПОЛНЕНИЕ ПОЛЕ

    Цитата
    ПАВЕЛ (PLAHA): Как можно сделать в своем модуле?
    Вопрос: исходя из логики cms или персонально Вашей фантазии? Если опираться на фантазию, то слишком много вариантов. А если исходить из логики diafan.cms, то второй вопрос: где, в административной части или в пользовательской части? В cms хоть и похожие методы, но все же разные.

    Цитата
    ГОРОПАШНЫЙ СТЕПАН (STEPANYCH): у вас просто должно быть поле в базе обязательным. а это обыгрывается при создании таблицы при установке модуля
    Ну да, согласен на все 100%, поддерживаю коллега. Только далее Вас не понял.
    Цитата
    ПАВЕЛ (PLAHA): not null не достаточно, например
    Цитата
    ГОРОПАШНЫЙ СТЕПАН (STEPANYCH): покажите как пишете, будет понятнее
    Поясню в чем не понял Вас, ГОРОПАШНЫЙ СТЕПАН (STEPANYCH). Уточняющий Ваш вопрос уже не имел смысла, после ответа коллеги - ПАВЕЛ (PLAHA).

    Цитата
    ПАВЕЛ (PLAHA): VARCHAR(250) NOT NULL DEFAULT ''
    VARCHAR(250) NOT NULL
    Прикольно, но зачем, даже если использовать свой фантастически крутой подход? Поясню свои мысли в этой части (с ними можно не соглашаться, но ... ). Если выставлять такие правила, то будем теоретически ожидать ошибки не только от скриптов, но и от базы данных. А если мы не кодируем на уровне базы данных, то зачем это? Контроля на уровне скриптов достаточно. Зачем наворачивать (это правильно с точки зрения эргономики)?

    ПАВЕЛ (PLAHA), если честно, то долго объяснять как было бы правильно (я имею ввиду правильно - это значит в духе diafan.cms). Если кратко, то при сохранении поля идет проверка на валидность, функция валидности (которую мы заранее подготовили) вернет ошибку. Эту ошибку пихаем в $this->diafan->set_error(ключ, текст). Далее скрипт автоматом сделает то, что нужно: в нужном месте появиться соответствующее сообщение, которое пояснит пользователю, почему не сохранена страница.

    Да, забыл. В пользовательской части почти тоже самое (не совсем, но очень аналогично), при этом контейнеры для ошибок, по моему, надо заранее предусмотреть в разметке страницы.

    Если кратко, то все.

    Успехов, коллега.
    • 28 октября 2016 г.
    • Спасибо,

      Речь только про админ панель

      Встроенной валидации на пустоту поля нет, как я понял. Хотя ожидал простого заполнения атрибута, типа required при определении $variables

      Остается переопределять save_variable_поле



  • 01 марта 2017 г.
  • Идеально было бы разработчикам добавить в $variables required параметр, но можно сделать вот так:
    Код

    public function validate_variable_test()
    {
    if(empty($_POST["test"]))
    {
    $this->diafan->set_error("test", 'Текст ошибки');
    return;
    }
    }

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум