Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
инвентаризация:dev:forms [2025/04/28 05:58] admin |
инвентаризация:dev:forms [2025/05/01 18:18] (текущий) admin [Placeholders] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
{{tag> | {{tag> | ||
====== Инвентаризация: | ====== Инвентаризация: | ||
+ | |||
+ | ==== ActiveField ==== | ||
Поскольку у нас шаблон ввода в форме не стандартный, | Поскольку у нас шаблон ввода в форме не стандартный, | ||
- | {Label} с иконкой и {hint} в tooltip, {input}, {error} | + | {Label} с иконкой и {hint} |
- | Переделываем (наследуем) Activefield следующим образом | + | Переделываем (наследуем) Activefield |
* методы label и hint не заполняют $this-> | * методы label и hint не заполняют $this-> | ||
* в методе render мы уже формируем $this-> | * в методе render мы уже формируем $this-> | ||
+ | * на самом деле в \yii\bootstrap5\ActiveField есть метод renderLabel и делаем всю магию там | ||
+ | * $this-> | ||
+ | |||
+ | |||
+ | ==== Text ==== | ||
+ | Сделал метод для ввода текста -> | ||
+ | * textAutoresize | ||
+ | * dokuwikiEdit | ||
+ | * mardownEdit | ||
+ | В зависимости от настройки | ||
+ | <code php> | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ], | ||
+ | </ | ||
+ | ==== Modal Popups ==== | ||
+ | Была следующая проблема: | ||
+ | И если на страницу, | ||
+ | ++++ пример скрипта инициализации | | ||
+ | <code javascript> | ||
+ | jQuery('# | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }); | ||
+ | </ | ||
+ | ++++ | ||
+ | во избежание подобных коллизий мы делаем в init по умолчанию id вида className-id-form | ||
+ | Для этого во всех формах желательно указывать модель через конфиг | ||
+ | ==== Placeholders ==== | ||
+ | Во-первых у ArmsModel есть метод getAttributePlaceholder($attribute), | ||
+ | Если атрибут отмечен как is_inheritable, | ||
+ | Во вторых в [[# | ||
+ | В третьих в форме по умолчанию включена Ajax валидация, | ||
+ | В четвертых, | ||
+ | ==== Валидация ==== | ||
+ | По умолчанию формы включают ajax валидацию, |