Inheritance | yii\bootstrap\ActiveField » yii\widgets\ActiveField » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-bootstrap/blob/master/ActiveField.php |
A Bootstrap 3 enhanced version of yii\widgets\ActiveField.
This class adds some useful features to ActiveField to render all sorts of Bootstrap 3 form fields in different form layouts:
false
to disable to the errorfalse
to disable to the labelboolean
argument to enable/disable the labelThere are also some new placeholders that you can use in the $template configuration:
{beginLabel}
: the opening label tag{labelTitle}
: the label title for use with {beginLabel}
/{endLabel}
{endLabel}
: the closing label tag{beginWrapper}
: the opening wrapper tag{endWrapper}
: the closing wrapper tagThe wrapper tag is only used for some layouts and form elements.
Note that some elements use slightly different defaults for $template and other options. You may want to override those predefined templates for checkboxes, radio buttons, checkboxLists and radioLists in the fieldConfig of the yii\widgets\ActiveForm:
Example:
use yii\bootstrap\ActiveForm; $form = ActiveForm::begin(['layout' => 'horizontal']); // Form field without label echo $form->field($model, 'demo', [ 'inputOptions' => [ 'placeholder' => $model->getAttributeLabel('demo'), ], ])->label(false); // Inline radio list echo $form->field($model, 'demo')->inline()->radioList($items); // Control sizing in horizontal mode echo $form->field($model, 'demo', [ 'horizontalCssClasses' => [ 'wrapper' => 'col-sm-2', ] ]); // With 'default' layout you would use 'template' to size a specific field: echo $form->field($model, 'demo', [ 'template' => '{label} <div class="row"><div class="col-sm-4">{input}{error}{hint}</div></div>' ]); // Input group echo $form->field($model, 'demo', [ 'inputTemplate' => '<div class="input-group"><span class="input-group-addon">@</span>{input}</div>', ]); ActiveForm::end();
See also:
Property | Type | Description | Defined By |
---|---|---|---|
$addAriaAttributes | boolean | Adds aria HTML attributes aria-required and aria-invalid for inputs | yii\widgets\ActiveField |
$attribute | string | The model attribute that this field is associated with. | yii\widgets\ActiveField |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$checkboxTemplate | string | The template for checkboxes in default layout | yii\bootstrap\ActiveField |
$enableAjaxValidation | boolean | Whether to enable AJAX-based data validation. | yii\widgets\ActiveField |
$enableClientValidation | boolean | Whether to enable client-side data validation. | yii\widgets\ActiveField |
$enableError | boolean | Whether to render the error. | yii\bootstrap\ActiveField |
$enableLabel | boolean | Whether to render the label. | yii\bootstrap\ActiveField |
$errorOptions | array | The default options for the error tags. | yii\widgets\ActiveField |
$form | yii\widgets\ActiveForm | The form that this field is associated with. | yii\widgets\ActiveField |
$hintOptions | array | The default options for the hint tags. | yii\widgets\ActiveField |
$horizontalCheckboxTemplate | string | The template for checkboxes in horizontal layout | yii\bootstrap\ActiveField |
$horizontalCssClasses | null|array | CSS grid classes for horizontal layout. | yii\bootstrap\ActiveField |
$horizontalRadioTemplate | string | The template for radio buttons in horizontal layout | yii\bootstrap\ActiveField |
$inline | boolean | Whether to render checkboxList() and radioList() inline. | yii\bootstrap\ActiveField |
$inlineCheckboxListTemplate | string | The template for inline checkboxLists | yii\bootstrap\ActiveField |
$inlineRadioListTemplate | string | The template for inline radioLists | yii\bootstrap\ActiveField |
$inputOptions | array | The default options for the input tags. | yii\widgets\ActiveField |
$inputTemplate | string|null | Optional template to render the {input} placeholder content | yii\bootstrap\ActiveField |
$labelOptions | array | The default options for the label tags. | yii\widgets\ActiveField |
$model | yii\base\Model | The data model that this field is associated with. | yii\widgets\ActiveField |
$options | array | The HTML attributes (name-value pairs) for the field container tag. | yii\widgets\ActiveField |
$parts | array | Different parts of the field (e.g. input, label). | yii\widgets\ActiveField |
$radioTemplate | string | The template for radios in default layout | yii\bootstrap\ActiveField |
$selectors | array | The jQuery selectors for selecting the container, input and error tags. | yii\widgets\ActiveField |
$template | string | The template that is used to arrange the label, the input field, the error message and the hint text. | yii\widgets\ActiveField |
$validateOnBlur | boolean | Whether to perform validation when the input field loses focus. | yii\widgets\ActiveField |
$validateOnChange | boolean | Whether to perform validation when the value of the input field is changed. | yii\widgets\ActiveField |
$validateOnType | boolean | Whether to perform validation while the user is typing in the input field. | yii\widgets\ActiveField |
$validationDelay | integer | Number of milliseconds that the validation should be delayed when the user types in the field and $validateOnType is set true . | yii\widgets\ActiveField |
$wrapperOptions | array | Options for the wrapper tag, used in the {beginWrapper} placeholder | yii\bootstrap\ActiveField |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\bootstrap\ActiveField |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__toString() | PHP magic method that returns the string representation of this object. | yii\widgets\ActiveField |
__unset() | Sets a component property to be null. | yii\base\Component |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
begin() | Renders the opening tag of the field container. | yii\widgets\ActiveField |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
checkbox() | Renders a checkbox. | yii\bootstrap\ActiveField |
checkboxList() | Renders a list of checkboxes. | yii\bootstrap\ActiveField |
className() | Returns the fully qualified name of this class. | yii\base\Object |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
dropDownList() | Renders a drop-down list. | yii\widgets\ActiveField |
end() | Renders the closing tag of the field container. | yii\widgets\ActiveField |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
error() | Generates a tag that contains the first validation error of $attribute. | yii\widgets\ActiveField |
fileInput() | Renders a file input. | yii\widgets\ActiveField |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
hint() | Renders the hint tag. | yii\widgets\ActiveField |
init() | Initializes the object. | yii\base\Object |
inline() | yii\bootstrap\ActiveField | |
input() | Renders an input tag. | yii\widgets\ActiveField |
label() | Generates a label tag for $attribute. | yii\bootstrap\ActiveField |
listBox() | Renders a list box. | yii\widgets\ActiveField |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
passwordInput() | Renders a password input. | yii\widgets\ActiveField |
radio() | Renders a radio button. | yii\bootstrap\ActiveField |
radioList() | Renders a list of radio buttons. | yii\bootstrap\ActiveField |
render() | Renders the whole field. | yii\bootstrap\ActiveField |
staticControl() | Renders Bootstrap static form control. | yii\bootstrap\ActiveField |
textInput() | Renders a text input. | yii\widgets\ActiveField |
textarea() | Renders a text area. | yii\widgets\ActiveField |
trigger() | Triggers an event. | yii\base\Component |
widget() | Renders a widget as the input of the field. | yii\widgets\ActiveField |
Method | Description | Defined By |
---|---|---|
addAriaAttributes() | Adds aria attributes to the input options | yii\widgets\ActiveField |
adjustLabelFor() | Adjusts the for attribute for the label based on the input options. | yii\widgets\ActiveField |
createLayoutConfig() | yii\bootstrap\ActiveField | |
getClientOptions() | Returns the JS options for the field. | yii\widgets\ActiveField |
getInputId() | Returns the HTML id of the input element of this form field. | yii\widgets\ActiveField |
isAjaxValidationEnabled() | Checks if ajax validation enabled for the field | yii\widgets\ActiveField |
isClientValidationEnabled() | Checks if client validation enabled for the field | yii\widgets\ActiveField |
renderLabelParts() | yii\bootstrap\ActiveField |
The template for checkboxes in default layout
public string $checkboxTemplate = "<div class=\"checkbox\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{error}\n{hint}\n</div>"
Whether to render the error. Default is true
except for layout inline
.
public boolean $enableError = true
Whether to render the label. Default is true
.
public boolean $enableLabel = true
The template for checkboxes in horizontal layout
public string $horizontalCheckboxTemplate = "{beginWrapper}\n<div class=\"checkbox\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n</div>\n{error}\n{endWrapper}\n{hint}"
CSS grid classes for horizontal layout. This must be an array with these keys:
public null|array $horizontalCssClasses = null
The template for radio buttons in horizontal layout
public string $horizontalRadioTemplate = "{beginWrapper}\n<div class=\"radio\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n</div>\n{error}\n{endWrapper}\n{hint}"
Whether to render checkboxList() and radioList() inline.
public boolean $inline = false
The template for inline checkboxLists
public string $inlineCheckboxListTemplate = "{label}\n{beginWrapper}\n{input}\n{error}\n{endWrapper}\n{hint}"
The template for inline radioLists
public string $inlineRadioListTemplate = "{label}\n{beginWrapper}\n{input}\n{error}\n{endWrapper}\n{hint}"
Optional template to render the {input}
placeholder content
public string|null $inputTemplate = null
The template for radios in default layout
public string $radioTemplate = "<div class=\"radio\">\n{beginLabel}\n{input}\n{labelTitle}\n{endLabel}\n{error}\n{hint}\n</div>"
Options for the wrapper tag, used in the {beginWrapper}
placeholder
public array $wrapperOptions = []
Constructor.
The default implementation does two things:
$config
.If this method is overridden in a child class, it is recommended that
$config
here.public void __construct ( $config = [] ) | ||
---|---|---|
$config | array |
Name-value pairs that will be used to initialize the object properties |
Renders a checkbox.
This method will generate the checked
tag attribute according to the model attribute value.
public $this checkbox ( $options = [], $enclosedByLabel = true ) | ||
---|---|---|
$options | array |
The tag options in terms of name-value pairs. The following options are specially handled:
The rest of the options will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\bootstrap\Html::encode(). If a value is If you set a custom |
$enclosedByLabel | boolean |
Whether to enclose the checkbox within the label. If |
return | $this |
The field object itself. |
Renders a list of checkboxes.
A checkbox list allows multiple selection, like listBox(). As a result, the corresponding submitted value is an array. The selection of the checkbox list is taken from the value of the model attribute.
public $this checkboxList ( $items, $options = [] ) | ||
---|---|---|
$items | array |
The data item used to generate the checkboxes. The array values are the labels, while the array keys are the corresponding checkbox values. |
$options | array |
Options (name => config) for the checkbox list. For the list of available options please refer to the |
return | $this |
The field object itself. |
protected array createLayoutConfig ( $instanceConfig ) | ||
---|---|---|
$instanceConfig | array |
The configuration passed to this instance's constructor |
return | array |
The layout specific default configuration for this instance |
public $this inline ( $value = true ) | ||
---|---|---|
$value | boolean |
Whether to render a inline list |
return | $this |
The field object itself Make sure you call this method before checkboxList() or radioList() to have any effect. |
Generates a label tag for $attribute.
public $this label ( $label = null, $options = [] ) | ||
---|---|---|
$label | null|string|false |
The label to use. If |
$options | null|array |
The tag options in terms of name-value pairs. It will be merged with $labelOptions. The options will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\bootstrap\Html::encode(). If a value is |
return | $this |
The field object itself. |
Renders a radio button.
This method will generate the checked
tag attribute according to the model attribute value.
public $this radio ( $options = [], $enclosedByLabel = true ) | ||
---|---|---|
$options | array |
The tag options in terms of name-value pairs. The following options are specially handled:
The rest of the options will be rendered as the attributes of the resulting tag. The values will be HTML-encoded using yii\bootstrap\Html::encode(). If a value is If you set a custom |
$enclosedByLabel | boolean |
Whether to enclose the radio within the label. If |
return | $this |
The field object itself. |
Renders a list of radio buttons.
A radio button list is like a checkbox list, except that it only allows single selection. The selection of the radio buttons is taken from the value of the model attribute.
public $this radioList ( $items, $options = [] ) | ||
---|---|---|
$items | array |
The data item used to generate the radio buttons. The array values are the labels, while the array keys are the corresponding radio values. |
$options | array |
Options (name => config) for the radio button list. For the list of available options please refer to the |
return | $this |
The field object itself. |
Renders the whole field.
This method will generate the label, error tag, input tag and hint tag (if any), and assemble them into HTML according to $template.
public string render ( $content = null ) | ||
---|---|---|
$content | string|callable |
The content within the field container. If function ($field) { return $html; } |
return | string |
The rendering result. |
protected void renderLabelParts ( $label = null, $options = [] ) | ||
---|---|---|
$label | string|null |
The label or null to use model label |
$options | array |
The tag options |
Renders Bootstrap static form control.
See also http://getbootstrap.com/css/#forms-controls-static.
public $this staticControl ( $options = [] ) | ||
---|---|---|
$options | array |
The tag options in terms of name-value pairs. These will be rendered as the attributes of the resulting tag. There are also a special options:
|
return | $this |
The field object itself |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-bootstrap-activefield.html