flsouto / httextin
该软件包最新版本(1.0.0)没有可用的许可证信息。
创建简单的文本输入字段
1.0.0
2017-02-11 20:35 UTC
Requires
- flsouto/htwidget: ^1.0
This package is not auto-updated.
Last update: 2024-09-23 14:28:47 UTC
README
这代表 HTML 文本输入。这是一个库,通过标准的API生成“单行”文本字段,该API提供了数据格式化、处理等多种实用功能。
这是 HtWidget
类的第一个具体实现。您可以 点击此处 了解更多,以更好地理解整个理念。
安装
运行 composer
composer require flsouto/httextin
用法
默认情况下,文本输入小部件以可写模式渲染,将期望从用户处接收输入。
<?php use FlSouto\HtTextin; require_once('vendor/autoload.php'); $field = new HtTextin('email'); $field->context(['email'=>'user@domain.com']); echo $field;
输出
<div class="widget 589f856da986a" style="display:block"> <input name="email" value="user@domain.com" /> <div style="color:yellow;background:red" class="error"> </div> </div>
切换到只读模式
use FlSouto\HtTextin; require_once('vendor/autoload.php'); $field = new HtTextin('email'); $field->readonly(true); echo $field;
输出
<div class="widget 589f856dad400" style="display:block"> <input name="email" value="" readonly="readonly" /> <div style="color:yellow;background:red" class="error"> </div> </div>
关闭只读并返回可写模式
use FlSouto\HtTextin; $field = new HtTextin('email'); $field->readonly(true); $field->readonly(false); echo $field;
输出
<div class="widget 589f856dad92c" style="display:block"> <input name="email" value="" /> <div style="color:yellow;background:red" class="error"> </div> </div>
设置大小属性
$field = new HtTextin('email'); $field->size(40); echo $field;
输出
<div class="widget 589f856dade03" style="display:block"> <input name="email" size="40" value="" /> <div style="color:yellow;background:red" class="error"> </div> </div>
设置占位符属性
$field = new HtTextin('email'); $field->size(40)->placeholder("eg: user@domain.com"); echo $field;
输出
<div class="widget 589f856dae2b0" style="display:block"> <input name="email" size="40" value="" /> <div style="color:yellow;background:red" class="error"> </div> </div>
使用格式化器
formatter
方法允许您格式化从上下文中拉取的值,以便在输入字段上显示。
$field = new HtTextin('price'); $field->formatter(function($value){ return '$'.number_format((float)$value, 2, '.',','); }); $field->context(['price'=>30.9]); echo $field;
输出
<div class="widget 589f856dae783" style="display:block"> <input name="price" value="$30.90" /> <div style="color:yellow;background:red" class="error"> </div> </div>
使用过滤器
filters
方法返回一个对象,允许您为处理传入的数据添加过滤器。虽然 formatter
仅在组件渲染时应用,但 filters
总是应用,一旦调用 $field->value()
方法。
$field = new HtTextin('price'); $field->filters()->strip('$')->replace(',','.')->trim(); $field->context(['price'=>'$ 30,90']); echo $field->value();
输出
30.90
验证
通过相同的 filters
api 添加验证约束。
$field = new HtTextin('amount'); $field->filters()->maxval(10, "Cannot exceed 10."); $field->context(['amount'=>15]); $field->error(true); // activates error reporting on the UI echo $field;
输出
<div class="widget 589f856daf2f4" style="display:block"> <input name="amount" value="" /> <div style="color:yellow;background:red" class="error"> Cannot exceed 10. </div> </div>
注意:有关 filters
api 的更多信息,请参阅 本文档