继承 | yii\widgets\ActiveForm » yii\base\Widget » yii\base\Component » yii\base\Object |
---|---|
可用自版本 | 2.0 |
ActiveForm是构建一个交互式的HTML表单小部件为一个或多个数据模型。
在ActiveForm更多细节和使用信息,请参阅指南文章形式。
公共属性
公共方法
方法 | 描述 | 定义在 |
---|---|---|
beginField() | 开始一个表单字段。 | yii\widgets\ActiveForm |
endField() | 结束一个表单字段。 | yii\widgets\ActiveForm |
errorSummary() | 生成的摘要验证错误。 | yii\widgets\ActiveForm |
field() | 生成一个表单字段。 | yii\widgets\ActiveForm |
init() | 初始化该小部件。 | yii\widgets\ActiveForm |
run() | 的小部件。 | yii\widgets\ActiveForm |
validate() | 验证一个或多个模型和返回一个错误消息id数组索引的属性。 | yii\widgets\ActiveForm |
validateMultiple() | 验证模型实例数组并返回一个错误消息id数组索引的属性。 | yii\widgets\ActiveForm |
受保护的方法
方法 | 描述 | 定义在 |
---|---|---|
getClientOptions() | JS小部件返回选项的形式。 | yii\widgets\ActiveForm |
属性详情
$action public property
表单操作URL。这个参数将由 yii\helpers\Url::to().
参见 方法用于指定HTTP $method这种形式。
public array|string $action = ''
$ajaxDataType public property
您所期望的数据类型重新从服务器。
public string $ajaxDataType = 'json'
$ajaxParam public property
得到参数的名称表明验证请求一个AJAX请求.
public string $ajaxParam = 'ajax'
$attributes public property
客户端验证选项为个人属性。数组的每个元素代表特定属性的验证选项.
public array $attributes = []
$enableAjaxValidation public property
是否启用ajax的数据验证。如果yii\widgets\ActiveField::$enableAjaxValidation集,其价值将优先级的输入字段。
public boolean $enableAjaxValidation = false
$enableClientScript public property
yii是否钩。activeForm JavaScript插件。这个属性必须设置正确,如果你想支持AJAX客户端验证和/或验证,或者如果你想利用yii.activeForm插件。这是错误的时,不会产生任何JavaScript形式。
public boolean $enableClientScript = true
$enableClientValidation public property
是否启用客户端数据验证。如果yii\widgets\ActiveField::$enableClientValidation集,其价值将优先级的输入字段。
public boolean $enableClientValidation = true
$encodeErrorSummary public property
是否执行编码错误总结。
public boolean $encodeErrorSummary = true
$errorCssClass public property
字段添加到容器的CSS类相关联的属性时验证错误。
public string $errorCssClass = 'has-error'
$errorSummaryCssClass public property
容器的默认CSS类错误总结。
参见 errorSummary().
public string $errorSummaryCssClass = 'error-summary'
$fieldClass public property
他默认字段类名当调用field()来创建一个新的领域。
参见 $fieldConfig.
public string $fieldClass = 'yii\widgets\ActiveField'
$fieldConfig public property
所使用的缺省配置 field() 创建一个新对象。这可以是一个配置数组或一个匿名函数返回一个数组配置。如果是后者,签名应该如下:
function ($model, $attribute)
这个属性的值将合并后的递归选项参数$options
传递给字段 field()美元。
参见 $fieldClass.
public array|Closure $fieldConfig = []
$method public property
表单提交方法。这应该是文章或获得。默认为post。
当你设置你可以看到每个请求的url参数重复。这是因为$action 的默认值将当前请求的url和每个提交将添加新的参数,而不是取代现有的。你可以设置actionexplicitly美元避免这种情况:
$form = ActiveForm::begin([
'method' => 'get',
'action' => ['controller/action'],
]);
public string $method = 'post'
$options public property
表单的HTML属性(名称-值对)标记。
参见 yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
$requiredCssClass public property
添加到字段的CSS类容器时相关的属性是必需的。
public string $requiredCssClass = 'required'
$scrollToError public property (可用自版本 2.0.6)
是否验证后滚动到第一个错误。
public boolean $scrollToError = true
$scrollToErrorOffset public property (可用自版本 2.0.11)
抵消在像素应该添加滚动到第一个错误。
public integer $scrollToErrorOffset = 0
$successCssClass public property
字段添加到容器的CSS类相关联的属性时成功验证。
public string $successCssClass = 'has-success'
$validateOnBlur public property
是否在一个输入框失去焦点时执行验证。如果yii\widgets\ActiveField::$validateOnBlur集,其价值将优先级的输入字段。
public boolean $validateOnBlur = true
$validateOnChange public property
是否执行验证当一个输入字段的值改变。如果yii\widgets\ActiveField::$validateOnChange集,其价值将优先级的输入字段。
public boolean $validateOnChange = true
$validateOnSubmit public property
是否提交表单时执行验证。
public boolean $validateOnSubmit = true
$validateOnType public property
是否执行验证,用户输入一个输入字段。如果yii\widgets\ActiveField::$validateOnType集,其价值将优先级的输入字段
参见 $validationDelay.
public boolean $validateOnType = false
$validatingCssClass public property
字段添加到容器的CSS类相关联的属性时验证
public string $validatingCssClass = 'validating'
$validationDelay public property
的毫秒数,验证应该延迟当用户类型字段和美元validateOnType设置是正确的。如果yii \部件\ ActiveField::$ validationDelay集,其价值将优先级的输入字段。
public integer $validationDelay = 500
$validationUrl public property
URL执行基于ajax的验证。这个属性将由 yii\helpers\Url::to()请参阅yii \助手\ Url::()如何配置这个属性的更多细节。如果不设置这个属性,它将表单的action属性的值。
public array|string $validationUrl = null
方法详情
beginField() public 方法
开始一个表单字段。
该方法将创建一个新的表单字段并返回它的开始标记。你应该叫endField()。
参见:
public string beginField ( $model, $attribute, $options = [] ) | ||
$model | yii\base\Model | 数据模型。 |
$attribute | string | .属性名或表达式。看到yii\helpers\Html::getAttributeName()的格式属性表达式。 |
$options | array | 字段的额外配置对象。 |
return | string | 开始标记. |
---|
endField() public 方法
Ends a form field.
该方法将返回一个活跃的表单字段的结束标签由 beginField().
public string endField ( ) | ||
return | string | 结束标记的表单字段。 |
---|---|---|
throws | yii\base\InvalidCallException | 如果这个方法被调用之前没有beginField()调用. |
errorSummary() public 方法
生成的摘要验证错误。
如果没有验证错误,一个空的错误总结标记仍将生成,但它会被隐藏。
public string errorSummary ( $models, $options = [] ) | ||
$models | yii\base\Model|yii\base\Model[] | 与这相关的模型(s)的形式。 |
$options | array | 标签选项的名称-值对。以下选项是专门处理:
其余的选项将会呈现为容器的属性标签。的值将使用yii HTML-encoded yii\helpers\Html::encode()。如果一个值是null,相应的属性将不会呈现。 |
return | string | 生成的错误总结。 |
---|
field() public 方法
生成一个表单字段.
一个表单字段与一个模型和一个属性。它包含一个标签,一个输入和一个错误消息,并使用与最终用户进行交互来收集他们的输入属性
参见 $fieldConfig.
public yii\widgets\ActiveField field ( $model, $attribute, $options = [] ) | ||
$model | yii\base\Model | 数据模型。 |
$attribute | string | 属性名或表达式。看到yii\helpers\Html::getAttributeName()的格式属性表达式 |
$options | array | 字段的额外配置对象。这些是yii\widgets\ActiveField小部件的属性或一个子类,取决于$fieldClass.的价值。 |
return | yii\widgets\ActiveField | ActiveField创建对象。 |
---|
getClientOptions() protected 方法
JS小部件返回选项的形式。
protected array getClientOptions ( ) | ||
return | array | 的选项 |
---|
init() public 方法
初始化小部件。
这种呈现形式开放标签
public void init ( ) |
run() public 方法
Runs the widget.
这个寄存器必要的JavaScript代码和呈现形式关闭标签。
public void run ( ) | ||
throws | yii\base\InvalidCallException | 如果beginField()和endField()调用不匹配 |
---|
validate() public static 方法
验证一个或多个模型和返回一个错误消息id数组索引的属性。
这是一个助手方法,它简化了编写AJAX验证代码。
例如,您可以使用下面的代码在一个控制器动作响应AJAX请求验证:
$model = new Post;
$model->load(Yii::$app->request->post());
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
// ... respond to non-AJAX request ...
验证多个模型,只需将每个模型作为一个参数传递给这个方法,如下:
ActiveForm::validate($model1, $model2, ...);
public static array validate ( $model, $attributes = null ) | ||
$model | yii\base\Model | 模型进行验证。 |
$attributes | mixed | 应该验证的属性列表。如果该参数为空,这意味着任何属性中列出适用的验证规则应该验证 该方法用于验证多个模型时,该参数将被解释为一个模型。 |
return | array | 错误消息id数组索引的属性。 |
---|
validateMultiple() public static 方法
验证模型实例数组并返回一个错误消息id数组索引的属性。
这是一个助手方法,它简化了编写AJAX的表格输入验证代码.
例如,您可以使用下面的代码在一个控制器动作响应AJAX请求验证:
// ... load $models ...
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validateMultiple($models);
}
// ... respond to non-AJAX request ...
public static array validateMultiple ( $models, $attributes = null ) | ||
$models | array | 一个数组的模型进行验证。 |
$attributes | mixed | 应该验证的属性列表。如果该参数为空,这意味着任何属性中列出适用的验证规则应该验证。 |
return | array | 错误消息id数组索引的属性。 |
---|