yii小物件前端表单集合

以下是Yii自己官方的解释,其中参杂自己的理解与举例

#checkBox()  方法
public string  checkBox( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的复选框
  • 为模型属性渲染出一个复选框
1
2
// 代码部分
<?php  echo $form ->checkBox( $app 'name' array ( 'class' =>  'input' )); ?>

#checkBoxList()  方法
public string  checkBoxList( CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$data array 用于生成复选框组的选项的数据 (value=>display)
$htmlOptions array 附加的HTML属性
{return} string 生成的下拉列表框
  • 为模型属性渲染出一个复选框组
1
2
3
4
5
6
7
8
9
10
// 代码部分
<!?php  echo $form ->checkBoxList( $app 'name' ,
                             array /*此处写复选框集合值*/
                                 1 =>  'pig' ,
                                 2 =>  'cat' ,
                                 3 =>  'dog'
                                 ) ,  array /*此处写表单属性*/
                                     'template' =>  '{input} {label}' ,
                                     'separator' =>  ' ' ,
                                 )); ?>
下面这个表格对应上列的表单属性
$model CModel 数据模型
$attribute string 属性
$data array 用于生成复选框列表的值-标签对。 注意,值会被自动HTML编码,而标签不会。
$htmlOptions array 附加的HTML选项。 选项将会应用于每个复选框。下面指定的选项是被认可的:
  • template: 字符串,指定如何渲染每个复选框。 默认为"{input} {label}", 其中"{input}"将被生成的复选框标签取代, 而"{label}"会替换为相应的复选框标签的label。
  • separator: 字符串,分隔生成的复选框的字符串。
  • checkAll: 字符串,"check all"复选框指定的标签。 如果指定这个选项,一个'check all'复选框将会显示。 点击这个复选框将会将所有的复选框全选或全不选。
  • checkAllLast: 布尔值,指定是否在筛选框列表后面显示一个'check all'复选框。 如果没有设置这个选项(默认), 或者设置为false, 'check all'复选框将会显示在复选框列表的前面。
  • encode: 布尔型,指定是否对标签属性和值进行HTML编码,默认为true。
自1.1.7版起,一个名称为‘uncheckValue’的特殊选项可以被使用, 这个特殊选项的值在当单选按钮没有被选中时返回。 如果设置了这个特殊选项值,那么一个隐藏域会被渲染,以便当单选按钮没有被选中时,我们仍然可以获得一个未选中时的值。 如果‘uncheckValue’没有被设置或设置为NULL,隐藏域将不会被渲染。
{return} string 生成的复选框列表

#dropDownList()  方法
public string  dropDownList( CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$data array 用于生成列表的选项的数据 (value=>display)
$htmlOptions array 附加的HTML属性
{return} string 生成的下拉列表框
  • 为模型属性渲染出一个下拉列表框
1
2
3
4
5
6
7
8
// 代码部分
<?php  echo $form ->dropDownList( $app 'name' array (
                                             '' =>  '请选择' ,
                                             '1' => 'love' ,
                                             '2' => 'i' ,
                                             '3' => 'you' ,
                                             '4' => 'too' ,
                                         ), array ( 'class' => 'input' ));?>
下面这个表格对应上列的表单属性
$model CModel 数据模型
$attribute string 属性
$data array 生成列表选项的数据(值=>显示) 你可以使用listData来生成这个数据。 请参阅listOptions来了解这个数据如何生成列表数据。 注意,这里的值个标签会自动被这个方法进行HTML编码。
$htmlOptions array 附加的HTML属性。除了正常的HTML属性外, 一些特殊的属性也是可以的(请参阅clientChangetag来了解更多详细信息。) 此外,下面的这属性也被支持:
  • encode: 布尔值,是否对值进行编码。默认为true。
  • prompt: 字符串,指定的作为第一个列表选项的提示文本。它的值为空。注意,提示文本不会被HTML编码。
  • empty: 字符串,指定空选项的文本,它的值为空。 'empty'选项也可以是一个值-标签对形式的数组。 在一开始每个对都会用于渲染一个列表的选项。注意,文本标签不会被HTML编码。
  • options: 数组,为每个OPTION标签额外指定的属性。 数组的键名必须是选项的值, 数组的键值是选项标签的额外的属性,名称-值对的形式。例如,
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
{return} string 生成的下拉列表


#error()  方法
public string  error( CModel $model, string $attribute, array $htmlOptions=array ( ), boolean $enableAjaxValidation=true, boolean $enableClientValidation=true)
$model CModel 模型数据
$attribute string 属性名称
$htmlOptions array 附加到div容器的标签的HTML属性。 除了所有在CHtml::error中可用的选项之外,下列选项也可以被识别:
  • validationDelay
  • validateOnChange
  • validateOnType
  • hideErrorMessage
  • inputContainer
  • errorCssClass
  • successCssClass
  • validatingCssClass
  • beforeValidateAttribute
  • afterValidateAttribute
这些选项将覆盖在options为具体的模型属性声明的相应的 选项。要查看更多关于这些选项的细节,请参见clientOptions。 注意:仅当enableAjaxValidationenableClientValidation 设置为true时,这些选项才会被使用。 

当客户端验证可用,一个名为“clientValidation”的选项也可被识别。 这个选项设置一段JavaScript代码片段以执行客户端验证,在代码中, 预定义了下列变量:
  • value: 关联到此属性的当前输入值。
  • messages: 为此属性附加的新的错误信息的数组。
  • attribute: 为此属性保留所有客户端选项的数据结构。
$enableAjaxValidation boolean 是否使指定的属性的AJAX验证可用。 注意:要使AJAX验证可用,enableAjaxValidation 和这个参数都必须 设置为真。
$enableClientValidation boolean 是否使指定的属性的客户端验证可用。 注意:要使AJAX验证可用,enableClientValidation 和这个参数都必须 设置为真。此参数自1.1.7版开始可用。
{return} string 验证结果(显示错误或成功消息。)
  • 显示一个模型属性的第一个验证错误

#errorSummary()   方法
public string  errorSummary(mixed $models, string $header=NULL, string $footer=NULL, array $htmlOptions=array ( ))
$models mixed 要显示输入错误的模型。可以是一个 单独的模型,也可以是多个模型组成的一个数组。
$header string 在错误信息之前被显示的一段HTML代码。
$footer string 在错误信息之后被显示的一段HTML代码。
$htmlOptions array 用于渲染div容器标签的附加HTML属性。
{return} string 错误信息汇总。如果不存在任何错误,则返回空。
  • 显示一个模型或多个模型的汇总的验证错误信息


#fileField()  方法
public string  fileField( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的文件上传控件
  • 为模型属性渲染出一个文件上传控件
1
2
// 代码部分
<?php  echo  $form ->fileField( $app 'name' array ( 'class'  =>  'input' )); ?>

#hiddenField()  方法
public string  hiddenField( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的隐藏域
  • 为模型属性渲染出一个影藏域
1
2
// 代码部分
<?php  echo  $form ->hiddenField( $app 'name' array ( 'class'  =>  'input' )); ?>

#label()  方法
public string  label( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 模型的属性
$htmlOptions array 附加的HTML属性
{return} string 产生的Label标签。
  • 为模型属性渲染出一个HTML Label标签

#labelEx()  方法
public string  labelEx( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的Label标签
  • 为模型属性渲染出一个HTML Label标签(label升级版,当该元素为必填项时,会出现相应的样式)

#listBox()  方法
public string  listBox( CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$data array 用于生成列表的选项的数据 (value=>display)
$htmlOptions array 附加的HTML属性
{return} string 生成的列表框
  • 为模型属性渲染出一个列表框
1
2
3
4
5
6
7
8
// 代码部分
<?php  echo  $form ->listBox( $app 'name' array (
                                             ''  =>  '请选择' ,
                                             '1' => 'love' ,
                                             '2' => 'i' ,
                                             '3' => 'you' ,
                                             '4' => 'too' ,
                                         ), array ( 'class' => 'input' ));?>

passwordField()  方法
public string  passwordField( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的密码框
  • 为模型属性渲染出一个密码框
1
2
// 代码部分
<?php  echo  $form ->passwordField( $app 'name' array ( 'class'  =>  'input' )); ?>

radioButton()  方法
public string  radioButton( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的单选按钮
  • 为模型属性渲染出一个单选按钮
1
2
// 代码部分
<?php  echo  $form ->radioButton( $app 'name' array ( 'class'  =>  'input' )); ?>

radioButtonList()  方法
public string  radioButtonList( CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$data array 用于生成单选按钮组的选项的数据 (value=>display)
$htmlOptions array 附加的HTML属性
{return} string 生成的单选按钮组
  • 为模型属性渲染出一个单选按钮组
1
2
3
4
5
6
7
8
// 代码部分
<?php  echo  $form ->listBox( $app 'name' array (
                                             ''  =>  '请选择' ,
                                             '1' => 'love' ,
                                             '2' => 'i' ,
                                             '3' => 'you' ,
                                             '4' => 'too' ,
                                         ), array ( 'separator' => ' ' ));?>
下面这个表格对应上列的表单属性
$model CModel 数据模型
$attribute string 属性
$data array 用于生成单选按钮列表的值-标签对。 注意,值会被自动HTML编码,而标签不会。
$htmlOptions array 附加的HTML选项。 选项将会应用于每个单选按钮。下面指定的选项是被认可的:
  • template: 字符串,指定如何渲染每个复选框。 默认为"{input} {label}", 其中"{input}"将被生成的单选按钮标签取代, 而"{label}"会替换为相应的单选按钮标签的label。
  • separator: 字符串,分隔生成的单选按钮的字符串。默认为一个新行(
  • encode: 布尔型,指定是否对标签属性和值进行HTML编码,默认为true。
自1.1.7版起,一个名为'uncheckValue'的选项可用。 当没有单选按钮被选中时它返回一个特定的值。默认为''。 在内部,一个隐藏域会被渲染,当没有单选按钮被选中时,我们仍然可以获取一个POST值。 如果'uncheckValue'设置为NULL,隐藏域将不会被渲染。
{return} string 生成的单选按钮列表

textArea()  方法
public string  textArea( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的多行文本输入控件
  • 为模型属性渲染出一个多行文本输入的控件
1
2
// 代码部分
<?php  echo  $form ->textArea( $app 'name' array ( 'class'  =>  'input' )); ?>


textField()  方法
public string  textField( CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 模型
$attribute string 属性
$htmlOptions array 附加的HTML属性
{return} string 生成的输入框
  • 为模型属性渲染出一个输入框
1
2
// 代码部分
<?php  echo  $form ->textField( $app 'name' array ( 'class'  =>  'input' )); ?>

请大家尊重原创,本文也花费了不少心思,转发请写明出处
@让我们一起共同努力~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值