cyneek / yii2-widget-urlparser
表单输入小部件,让用户创建经过验证的URI。
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 17:00:49 UTC
README
为yii2表单制作URI字符串的URL输入小部件
什么是文件上传管理器?
此模块添加了一个新输入字段,可用于与另一个输入文本字段一起使用,以创建有效的URI字符串。此外,该软件包还包含了一个客户端和服务器端验证的UriValidator。
由Joseba Juániz开发(@Patroklo)
最低要求
- Yii2
- PHP 5.4或更高版本
未来计划
- 目前没有。
许可证
这是免费软件。它根据以下BSD许可证的条款发布。
版权(c)2014,Cyneek保留所有权利。
重新分发和使用,无论是源代码形式还是二进制形式,是否修改,只要满足以下条件
- 源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。
- 二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明在随分发的文档和其他材料中。
- Cyneek的名称或其贡献者的名称不得用于认可或推广由本软件派生出的产品,除非事先获得具体书面许可。
本软件由版权所有者“按原样”提供,并且不承担任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性暗示保证。在任何情况下,版权所有者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)负责,无论此类损害是由于何种原因引起的,无论是在合同、严格责任还是侵权(包括疏忽或其他)中,即使在被告知此类损害的可能性时也是如此。
安装
小部件使用案例
在这种情况下,默认情况下,包含URI字符串的输入文本字段将通过JavaScript自动过滤所有添加的数据,以生成有效的字符字符串。这与UriValidator无关,这是为了提高小部件的强度而添加的额外过滤器。
根据其定义选项,此小部件可以用多种方式使用
独立
echo \cyneek\yii2\widget\urlparser\UrlParser::widget([
'model' => $model,
'attribute' => 'fieldName',
'source' =>
[
'model' => $model,
'attribute' => 'sourceFieldName'
]
]);
没有客户端验证,也不会继承开发人员所做的任何表单或输入更改。
选项
- model (ActiveRecord或Model)(必需)
定义用于创建表单输入字段的模型。
- attribute (字符串)(必需)
定义用于创建表单输入字段的模型属性。
- url_separator (字符)(可选)
它是用于替换空格字符以生成URI字符串的字符。默认定义为"-" 警告 如果已定义,新值也必须是有效的URI字符。
- regex_definition (字符)(可选)
用于验证URI字段中插入数据的正则表达式。如果它无效,则不会添加到其中。
- maxlength (整数) (可选)
字段将允许的最大字符数。
- source (数组) (可选)
- model (ActiveRecord或Model)(必需)
- attribute (字符串)(必需)
定义小部件是否具有外部URI字符串源。持有此数组的值必须是一个模型对象和该模型的一个属性,该属性在相同表单中创建一个与位于的小部件相同的输入文本字段。此外,它必须不同于为小部件本身定义的属性。
如果定义了source,则小部件将创建一个输入文本字段,该字段将被设置为只读,因为它将使用源字段作为其URI字符串数据的根。然而,小部件还将包含一个按钮,允许用户取消字段的只读选项并取消两个字段之间的链接,使他可以直接在控件输入字段中手动输入数据。
与ActiveForm小部件一起
echo $form->field($model, 'fieldName')->widget('\cyneek\yii2\widget\urlparser\UrlParser', ['source' => ['model' => $model, 'attribute' => 'sourceFieldName']]);
如果表单中启用了客户端验证,则将进行客户端验证。
选项
- url_separator (字符)(可选)
它是用于替换空格字符以生成URI字符串的字符。默认定义为"-" 警告 如果已定义,新值也必须是有效的URI字符。
- source (数组) (可选)
- model (ActiveRecord或Model)(必需)
- attribute (字符串)(必需)
定义小部件是否具有外部URI字符串源。持有此数组的值必须是一个模型对象和该模型的一个属性,该属性在相同表单中创建一个与位于的小部件相同的输入文本字段。此外,它必须不同于为小部件本身定义的属性。
如果定义了source,则小部件将创建一个输入文本字段,该字段将被设置为只读,因为它将使用源字段作为其URI字符串数据的根。然而,小部件还将包含一个按钮,允许用户取消字段的只读选项并取消两个字段之间的链接,使他可以直接在控件输入字段中手动输入数据。
使用UriValidation
此外,该包还包含一个用于URI字符串数据的验证库。其主要用途是验证通过表单发送的数据,并使用Yii 2的php代码或客户端JavaScript将其验证为有效/无效的URI字符串。
其使用方式与UrlValidator相同,唯一的区别是,由于库默认不包含在系统中,您必须手动将其包含在Validator组件中,该组件负责存储系统中的所有活动验证器。通常,这将在包含我们想要验证的URI属性的rules方法中完成。
public function rules()
{
// adds UriValidator to the list of active validatos in the Validator component.
Validator::$builtInValidators['uri'] = 'cyneek\yii2\widget\urlparser\validators\UriValidator';
return [
[['name', 'uriField'], 'required'],
[['name'], 'string'],
[['name', 'uriField'], 'safe'],
[['uriField'], 'uri']
];
}
从现在起,验证器将对于系统是活跃和功能性的,并可以像任何其他默认系统验证器一样使用。