adt/nette-forms-components

v1.9.6 2024-09-03 05:40 UTC

README

安装

composer require adt/nette-forms-components

ADT\Forms\Form

Nette\Application\UI\Form 子类使用 ADT\Forms\BoostrapFormRenderer 在 Bootstrap 5(默认)或 4 中渲染表单。

重写了 addError 方法(父方法不使用翻译器懒加载)。

所有 ADT Nette 表单组件都有 @method 注解,因此 PhpStorm 完成功能应该能够直接使用。

ADT\Forms\BoostrapFormRenderer

可以单独使用,而无需使用 ADT\Forms\Form(例如在 Ublaboo\DataGrid\DataGrid::createComponentFilter 方法中,该方法创建 Nette\Application\UI\Form 实例)

可以通过调用 ADT\Forms\BoostrapFormRenderer::$version = ADT\Forms\BootstrapFormRender::VERSION_4; 切换到 Bootstrap 4(例如在您的 BasePresenter::beforeRender 方法中)。

如果是 AJAX 请求且表单无效,则只将带有错误消息的片段发送回浏览器(不渲染表单)。

如果需要,可以使用静态方法 ADT\Forms\BoostrapFormRenderer::makeBootstrapADT\Forms\BoostrapFormRenderer::sendErrorPayload 手动(例如在 \Ublaboo\DataGrid\DataGrid::setItemsDetailForm 中,容器是动态创建的)。

可以使用 ->setOption('description', 'Description text') 使用字段描述。

可以使用 ->setOption('prepend', 'Text to prepend')->setOption('append', 'Text to append') 使用适当的输入组样式。

容器

可以单独使用,而无需使用 ADT\Forms\Form

可以在您的 Bootstrap 文件中注册,如 BaseContainer::register();。这将允许您在表单中使用 addStaticContaineraddDynamicContainer 方法。