mvccore / ext-form-field-numeric
MvcCore - 扩展 - 表单 - 字段 - 数值 - 表单字段类型 - 输入:number 和 输入:range。
v5.2.5
2024-08-09 14:30 UTC
Requires
- php: >=5.4.0
- mvccore/ext-form: ^5.2.17
- mvccore/ext-tool-locale-floatparser: ^5.2
- mvccore/mvccore: ^5.2.28
Suggests
- mvccore/ext-form-validator-special: MvcCore form extension with special text and numeric validators.
README
MvcCore 表单扩展,包含输入字段类型 number 和 range。
安装
composer require mvccore/ext-form-field-numeric
字段和默认验证器
input:number
数字
- 默认配置
- 按照特定规则解析原始用户输入,以解析整数/浮点数,或通过
Intl
PHP 扩展 - 最小值、最大值和步长验证
整数
- 默认未配置
- 与
Number
相同的验证,只是增加了对int
的检查(是否有精度值)
浮点数
- 默认未配置
- 与
Number
相同的验证,总是返回float
类型
input:range
(从input:number
扩展而来)范围
- 默认配置
- 直接从
Number
验证器扩展,功能相同,仅针对两个数字
特性
- 始终在服务器端检查
required
、disabled
和readonly
属性 - 所有 HTML5 特定和全局属性(由 Mozilla 开发者网络文档 提供)
- 每个字段都有一个如上所述的内置特定验证器
- 每个内置验证器都会在必要时将表单错误添加到会话中,然后所有错误都会在错误页面中显示/渲染,并在用户提交后从会话中清除
- 任何字段都可以以自然方式或使用特定字段类/实例的模板进行渲染
- 非常可扩展的字段类 - 每个字段都有公共模板方法
SetForm()
- 在字段实例被添加到表单实例后立即调用PreDispatch()
- 在任何字段实例渲染类型之前立即调用Render()
- 在表单实例渲染过程中对每个实例进行调用- 子方法:
RenderNaturally()
、RenderTemplate()
、RenderControl()
、RenderLabel()
...
- 子方法:
Submit()
- 在表单提交时对每个实例进行调用
示例
基本示例
$form = (new \MvcCore\Ext\Form($controller))->SetId('demo'); ... $yourAge = new \MvcCore\Ext\Forms\Fields\Number(); $yourAge ->SetName('your_age') ->SetLabel('Your Age') ->SetMin(0) ->SetMax(130) ->SetStep(1) ->SetValidators('Integer'); $schoolAge = new \MvcCore\Ext\Forms\Fields\Range([ 'name' => 'school_age', 'label' => 'Your school age from/to', 'min' => 0, 'max' => 130, 'step' => 1, 'validators' => ['Range'], ]); ... $form->AddFields($yourAge, $schoolAge);