mvccore / ext-form-field-date
MvcCore - 扩展 - 表单 - 字段 - 日期 - 表单字段类型 - input:date, input:datetime-local, input:time, input:week 和 input:month。
v5.2.5
2024-02-19 15:46 UTC
Requires
- php: >=5.4.0
- mvccore/ext-form: ^5.2.17
- mvccore/mvccore: ^5.2.28
README
MvcCore 表单扩展,支持输入字段类型日期、日期时间、时间、周和月份。
安装
composer require mvccore/ext-form-field-date
字段和默认验证器
input:date
日期
- 默认配置
- 验证提交值格式、最小值、最大值、步长和危险字符
input:datetime-local
(由input:date
扩展)日期时间
- 默认配置
- 验证提交值格式、最小值、最大值、步长和危险字符
input:time
(由input:date
扩展)时间
- 默认配置
- 验证提交值格式、最小值、最大值、步长和危险字符
input:week
(由input:date
扩展)周
- 默认配置
- 验证提交值格式、最小值、最大值、步长和危险字符
input:month
(由input:date
扩展)月份
- 默认配置
- 验证提交值格式、最小值、最大值、步长和危险字符
特性
- 始终在服务器端检查属性
required
、disabled
和readonly
- 所有 HTML5 特定和全局属性(见 Mozilla 开发者网络文档)
- 每个字段都有其内置的特定验证器,如上所述
- 每个内置验证器都会在必要时将表单错误添加到会话中,然后错误页面显示/渲染所有错误,用户提交后将被重定向到错误页面
- 任何字段都可以自然渲染或使用特定字段类/实例的自定义模板进行渲染
- 非常可扩展的字段类 - 每个字段都有公共模板方法
SetForm()
- 在字段实例被添加到表单实例后立即调用PreDispatch()
- 在渲染任何字段实例之前立即调用Render()
- 在表单实例渲染过程中对每个实例调用- 子方法:
RenderNaturally()
、RenderTemplate()
、RenderControl()
、RenderLabel()
...
- 子方法:
Submit()
- 在表单提交时对每个实例调用
示例
基本示例
$form = (new \MvcCore\Ext\Form($controller))->SetId('demo'); ... $currentYear = intval(date("Y")); $bornDate = new \MvcCore\Ext\Forms\Fields\Date(); $bornDate ->SetName('born_date') ->SetLabel('I was born:') //->SetFormat('Y-m-d') // not required, 'Y-m-d' by default ->SetMin($currentYear - 130) ->SetMax($currentYear); $myMorningTime = new \MvcCore\Ext\Forms\Fields\Time([ 'name' => 'my_morning', 'label' => 'I usually get up at morning at:', //'format' => 'H:i', // not required, 'H:i' by default 'min' => '4:00', 'max' => '10:00', 'step' => 60 * 15, // 15 minutes ]); ... $form->AddFields($bornDate, $myMorningTime);