php active控件,ActiveForm表单组件

用法<?php  $form = ActiveForm::begin(['id' => 'form-signup']); ?>

//文本框的标题

= $form->field($model, 'test1')->label('文本框的标题') ?>

//文本框下方的提示

= $form->field($model, 'test2')->hint('测试hint'); ?>

//input(type) type的类型有 text password等

= $form->field($model, 'test3')->input('text')?>

//简单文本框

= $form->field($model, 'test3')->textInput(['maxlength' => true])?>

//隐藏文本框

= $form->field($model, 'test3')->hiddenInput() ?>

//密码文本框,应用于登录的密码输入框

= $form->field($model, 'test3')->passwordInput() ?>

//文本域 应用于输入内容较多比如文章简介等 rows=>3 表示文本域高为3

= $form->field($model, 'test3')->textarea(['rows'=>'3']) ?>

//文件上传

= $form->field($model, 'test3')->fileInput() ?>

//勾选框

= $form->field($model, 'test3')->radio() ?>

//多选框

= $form->field($model, 'test3')->checkbox() ?>

//listbox

= $form->field($model, 'test3')->listBox(['0'=>'box1','1'=>'box2']) ?>

//多谢框列表,常用

= $form->field($model, 'test3')->checkboxList(['0'=>'box1','1'=>'box2']) ?>

//单选框列表,常用

= $form->field($model, 'test3')->radioList(['0'=>'radio1','1'=>'radio2'])?>

//下拉框列表

= $form->field($model, 'test3')->dropDownList(

['1'=>'下拉选项1','2'=>'下拉选项2'],

['prompt' => '请选择']

) ?>

//插件组件应用,比如yii2编辑器插件,图片上传插件

= $form->field($model,'test3')->widget(yii\captcha\Captcha::className())?>

= Html::submitButton('按钮', ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?>

上面基本涵盖了activeform的所有文本框的例子,但是如果我们需要对表单的结构做自定义的调整,以适用每个不同项目的需求,那是不是就没法用activeform了?请看下面自定义表单结构

自定义表单结构use yii\bootstrap\ActiveForm;

$form = ActiveForm::begin(['layout' => 'horizontal']);

// 隐藏form的标签

echo $form->field($model, 'demo', [

'inputOptions' => [

'placeholder' => $model->getAttributeLabel('demo'),

],

])->label(false);

// 内联 radio list

echo $form->field($model, 'demo')->inline()->radioList($items);

//水平模式控制文本框的大小

echo $form->field($model, 'demo', [

'horizontalCssClasses' => [

'wrapper' => 'col-sm-2',

]

]);

// 除了'default(默认)' 布局 你还可以用 'template' 制定特定的布局:

echo $form->field($model, 'demo', [

'template' => '{label} 

{input}{error}{hint}
'

]);

// 自定义输入框的结构

echo $form->field($model, 'demo', [

'inputTemplate' => '

@{input}
',

]);

ActiveForm::end();

详细参数

[[\yii\widgets\ActiveField]]. 加强版的Bootstrap 3

1.这个类添加了一些有用的功能到 [[\yii\widgets\ActiveField|ActiveField]] 在不同的形式布局中提供各种bootstrap3的表单域:

- [[inputTemplate]] 是一个用来呈现复杂输入的可选模板,例如输入组

- [[horizontalCssClasses]] 以横向形式定义了css网络格以增加标签,包装和错误提示

- [[inline]]/[[inline()]] 被用于提供内联的[[checkboxList()]] 和[[radioList()]]

- [[enableError]] 被设置为‘false’以禁用错误

- [[enableLabel]] 被设置为`false` 以禁用标签

- [[label()]] 和boolean值一起使用,来启用和禁用标签

2.也有一些新的占位符,你可以用在 [[template]] 结构中:

- `{beginLabel}`: 开始标签

- `{labelTitle}`: 标签的标题,和 `{beginLabel}`/`{endLabel}`一起使用

- `{endLabel}`: 结束标签

- `{beginWrapper}`: 开始包装标签

- `{endWrapper}`: 关闭包装标签

3.包装标签仅用于某些布局和表单元素.

请注意,某些元素使用了 [[template]]的轻微不同的默认值和其他选项.

你可以重写这些预定义模板复选框, radio buttons, checkboxLists和 radioLists 在 [[\yii\widgets\ActiveForm::fieldConfig|fieldConfig]] 的

[[\yii\widgets\ActiveForm]]:

- [[checkboxTemplate]] 在默认布局复选框模板

- [[radioTemplate]] 默认布局中的radio button模板

- [[horizontalCheckboxTemplate]] 水平布局的 checkboxes模块

- [[horizontalRadioTemplate]] 水平布局的 radio buttons 模块

- [[inlineCheckboxListTemplate]] 内联的 checkboxLists模块

- [[inlineRadioListTemplate]] 内联的 radioLists模块

文章来自yii中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值