Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
- alcompstudio
- Спонсор
- Сообщения: 1710
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр Афанасьев
- Откуда: г. Славянск, Донецкая обл.
- Организация: Alcomp
Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Добрый день!
Возникла такая проблема: Если на поле Многоуровневый список сущностей поставить признак Обязательное поле, и его же использовать в правиле отображения полей, то при условии, что это поле скрыто, все равно система не дает сохранить запись, ссылаясь на обязательность этого поля. Для других типов полей все работает нормально.
Подробнее - описал в видео на примере в персонализированной демо (ссылку могу дать по запросу)
https://www.loom.com/share/e46c683a5d9e ... d7cf2448b7
Возникла такая проблема: Если на поле Многоуровневый список сущностей поставить признак Обязательное поле, и его же использовать в правиле отображения полей, то при условии, что это поле скрыто, все равно система не дает сохранить запись, ссылаясь на обязательность этого поля. Для других типов полей все работает нормально.
Подробнее - описал в видео на примере в персонализированной демо (ссылку могу дать по запросу)
https://www.loom.com/share/e46c683a5d9e ... d7cf2448b7
- Oleg
- Сообщения: 469
- Зарегистрирован: 26 окт 2018, 08:23
- Имя: Олег Родионов
- Откуда: Россия,Санкт-Петербург
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
А если Многоуровневый список сущностей где оно отображается оставить пустым дает сохранить при атрибуте Обязательное поле?
Установка и настройка IP ATC Asterisk
- alcompstudio
- Спонсор
- Сообщения: 1710
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр Афанасьев
- Откуда: г. Славянск, Донецкая обл.
- Организация: Alcomp
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Вот как раз в этом проблема и есть) Если поле Многоуровневый список не заполнено и оно обязательное - то если скрыто в форме через Правила отображения полей - не дает сохранить. Если открыть, заполнить, а потом скрыть - сохраняет, т.к. условие "обязательности" соблюдается, даже если скрыто.
- alcompstudio
- Спонсор
- Сообщения: 1710
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр Афанасьев
- Откуда: г. Славянск, Донецкая обл.
- Организация: Alcomp
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
... или вы имеете ввиду, если не скрывать, а видимое в форме? Если это имеете ввиду - то все работает как нужно. Незаполненное - на сохраняет, т.к. обязательное. Проблема в функции Правила отображения полей. По логике "если я поле не вижу, даже если оно обязательное - зачем мне его заполнять?" . Проблема только в поле Многоуровневый список сущностей, с выпадающими списками (как я заметил) все штатно и логично работает.
- Oleg
- Сообщения: 469
- Зарегистрирован: 26 окт 2018, 08:23
- Имя: Олег Родионов
- Откуда: Россия,Санкт-Петербург
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Ну как это, если поле обязательное, то его и заполнять нужно обязательно, это же логично
Установка и настройка IP ATC Asterisk
- Fait
- Инвестор
- Сообщения: 797
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Да речь то и не об этом.
Конечно же логично, если поле обязательное, то его нужно заполнить)
Но если оно скрыто в форме, то по логике перестаёт быть обязательным, и при сохранении должно игнорироваться. А этого в данном случае не происходит.
Вот и получается, что форма требует заполнить то, чего не видно...
Я этот глюк тоже заметил ещё год назад, поэтому многоуровневый список перестал использовать.
Использую просто сущности Ajax.
Более того, есть ещё какой-то тип поля, который, если обязательный и скрыт правилами отображения полей, то так же себя ведёт.
То есть его не видно, а форма требует заполнить и не сохраняет его...
Как вариант, можно с помощью JQuery прописать свои правила отображения полей и снять атрибут required при скрытии поля.
Если хотите, могу написать сюда код.
- alcompstudio
- Спонсор
- Сообщения: 1710
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр Афанасьев
- Откуда: г. Славянск, Донецкая обл.
- Организация: Alcomp
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Да, тут вы верно таже подметили, наверное я неправильно что-то объяснил, раз возникли такие вопросы)Fait писал(а): ↑23 дек 2023, 09:17Да речь то и не об этом.
Конечно же логично, если поле обязательное, то его нужно заполнить)
Но если оно скрыто в форме, то по логике перестаёт быть обязательным, и при сохранении должно игнорироваться. А этого в данном случае не происходит.
Вот и получается, что форма требует заполнить то, чего не видно...
Я этот глюк тоже заметил ещё год назад, поэтому многоуровневый список перестал использовать.
Использую просто сущности Ajax.
Более того, есть ещё какой-то тип поля, который, если обязательный и скрыт правилами отображения полей, то так же себя ведёт.
То есть его не видно, а форма требует заполнить и не сохраняет его...
Как вариант, можно с помощью JQuery прописать свои правила отображения полей и снять атрибут required при скрытии поля.
Если хотите, могу написать сюда код.
Если вам несложно - напишите, пожалуйста образец кода, можете даже прямо в моем демо-доступе, для наглядности повторить код:
https://pdemo.rukovoditel.pro/3.4/index ... mo_id=2791
admin
admin
Но, все же хотелось бы решить эту проблему в дистрибутиве, т.к. иначе нелогично получается - поле скрыто, но нужно его заполнить... Плюс по другим-то полям отрабатывает правильно и логично, только вот с Многоуровневым списком сущностей проблема.
- Fait
- Инвестор
- Сообщения: 797
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Александр, вот необходимый для вас и полностью рабочий код:
Также в вашей демо всё работает, можете проверить)
Код: Выделить всё
$type = [167]; // Тип задачи
$f_del_req = 222; // ID поля, у которого нужно удалить обязательность
echo '<script>$(".form-group-'.$_GET['field_id'].'").hide()</script>'; // Скрываем текущее поле с формы
if ($type == 2) { // Если тип - Задача
echo '<script>$("#fields_'.$f_del_req.'").removeAttr("required"); $("#fields_'.$f_del_req.'").removeClass("required");</script>'; // Убираем обязательность заполнения поля
}
else { // Если тип - Идея
echo '<script>$("#fields_'.$f_del_req.'").addAttr("required"); $("#fields_'.$f_del_req.'").addClass("required");</script>'; // Устанавливаем обязательность заполнения поля
}
- alcompstudio
- Спонсор
- Сообщения: 1710
- Зарегистрирован: 03 янв 2016, 20:42
- Имя: Александр Афанасьев
- Откуда: г. Славянск, Донецкая обл.
- Организация: Alcomp
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Да, все работает, спасибо большое за помощь! )Fait писал(а): ↑25 дек 2023, 14:04 Александр, вот необходимый для вас и полностью рабочий код:Также в вашей демо всё работает, можете проверить)Код: Выделить всё
$type = [167]; // Тип задачи $f_del_req = 222; // ID поля, у которого нужно удалить обязательность echo '<script>$(".form-group-'.$_GET['field_id'].'").hide()</script>'; // Скрываем текущее поле с формы if ($type == 2) { // Если тип - Задача echo '<script>$("#fields_'.$f_del_req.'").removeAttr("required"); $("#fields_'.$f_del_req.'").removeClass("required");</script>'; // Убираем обязательность заполнения поля } else { // Если тип - Идея echo '<script>$("#fields_'.$f_del_req.'").addAttr("required"); $("#fields_'.$f_del_req.'").addClass("required");</script>'; // Устанавливаем обязательность заполнения поля }
- Fait
- Инвестор
- Сообщения: 797
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Правила отображения полей - не срабатывает для обязательного Многоуровневого списка сущностей
Рад помочь)
А вообще, конечно в основном функционале нужно эту проблему исправить.
Надеюсь, у Сергея время на это будет.