yii小物件前端表单集合

来源:互联网 发布:免费顶级域名2016年 编辑:程序博客网 时间:2024/05/01 15:02
以下是Yii自己官方的解释,其中参杂自己的理解与举例

#checkBox() 方法
public string checkBox(CModel $model, string $attribute, array $htmlOptions=array ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$dataarray用于生成复选框组的选项的数据 (value=>display)$htmlOptionsarray附加的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'=> ' ',
                                )); ?>
下面这个表格对应上列的表单属性
$modelCModel数据模型$attributestring属性$dataarray用于生成复选框列表的值-标签对。 注意,值会被自动HTML编码,而标签不会。$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$dataarray用于生成列表的选项的数据 (value=>display)$htmlOptionsarray附加的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'));?>
下面这个表格对应上列的表单属性
$modelCModel数据模型$attributestring属性$dataarray生成列表选项的数据(值=>显示) 你可以使用listData来生成这个数据。 请参阅listOptions来了解这个数据如何生成列表数据。 注意,这里的值个标签会自动被这个方法进行HTML编码。$htmlOptionsarray附加的HTML属性。除了正常的HTML属性外, 一些特殊的属性也是可以的(请参阅clientChange和tag来了解更多详细信息。) 此外,下面的这属性也被支持:
  • 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)
$modelCModel模型数据$attributestring属性名称$htmlOptionsarray附加到div容器的标签的HTML属性。 除了所有在CHtml::error中可用的选项之外,下列选项也可以被识别:
  • validationDelay
  • validateOnChange
  • validateOnType
  • hideErrorMessage
  • inputContainer
  • errorCssClass
  • successCssClass
  • validatingCssClass
  • beforeValidateAttribute
  • afterValidateAttribute
这些选项将覆盖在options为具体的模型属性声明的相应的 选项。要查看更多关于这些选项的细节,请参见clientOptions。 注意:仅当enableAjaxValidation或enableClientValidation 设置为true时,这些选项才会被使用。 

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

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


#fileField() 方法
public string fileField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring模型的属性$htmlOptionsarray附加的HTML属性{return}string产生的Label标签。
  • 为模型属性渲染出一个HTML Label标签

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

#listBox() 方法
public string listBox(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$modelCModel模型$attributestring属性$dataarray用于生成列表的选项的数据 (value=>display)$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$dataarray用于生成单选按钮组的选项的数据 (value=>display)$htmlOptionsarray附加的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'=>' '));?>
下面这个表格对应上列的表单属性
$modelCModel数据模型$attributestring属性$dataarray用于生成单选按钮列表的值-标签对。 注意,值会被自动HTML编码,而标签不会。$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的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 ( ))
$modelCModel模型$attributestring属性$htmlOptionsarray附加的HTML属性{return}string生成的输入框
  • 为模型属性渲染出一个输入框
1
2
// 代码部分
<?php echo $form->textField($app'name'array('class' => 'input')); ?>

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

2 0