mvccore/ext-form-field-button

MvcCore - 扩展 - 表单 - 字段 - 按钮 - 表单字段类型 - 按钮:提交、重置、输入:提交、输入:重置和图片。

v5.2.2 2023-10-03 11:16 UTC

This package is auto-updated.

Last update: 2024-09-03 13:57:12 UTC


README

Latest Stable Version License PHP Version

MvcCore 表单扩展,基于 <button><input> 元素,支持类型 buttonsubmitreset 的字段。

安装

composer require mvccore/ext-form-field-button

字段

本包中没有任何按钮字段的验证器。

  • input:button
  • input:reset
  • input:submit
  • input:image
  • button:button
  • button:reset
  • button:submit

功能

  • 始终在服务器端检查属性 requireddisabledreadonly
  • 所有 HTML5 特定和全局属性(由 Mozilla 开发者网络文档 提供)
  • 每个字段都有一个内置的特定验证器,如上所述
  • 每个内置验证器(在必要时)将表单错误添加到会话中,然后所有错误都在错误页面上显示/渲染,并在用户提交后从会话中清除
  • 任何字段都可以自然渲染或使用特定字段类/实例的定制模板进行渲染
  • 非常可扩展的字段类 - 每个字段都有公共模板方法
    • SetForm() - 在字段实例被添加到表单实例后立即调用
    • PreDispatch() - 在任何字段实例渲染类型之前立即调用
    • Render() - 在表单实例渲染过程中对每个实例进行调用
      • 子方法:RenderNaturally()RenderTemplate()RenderControl()RenderLabel() ...
    • Submit() - 在表单提交时对每个实例进行调用

示例

基本示例

$form = (new \MvcCore\Ext\Form($controller))->SetId('demo');
...
// buttons has not labels, only values:
$reset = new \MvcCore\Ext\Forms\Fields\ResetInput();
$reset
	->SetName('reset_form')
	->SetValue('Clean all values:');
$submit = new \MvcCore\Ext\Forms\Fields\SubmitButton([
	'name'		=> 'send',
	'value'		=> 'Save',
]);
...
$form->AddFields($reset, $submit);