Class yii\widgets\InputWidget

Inheritanceyii\widgets\InputWidget » yii\base\Widget » yii\base\Component » yii\base\BaseObject
Implementsyii\base\Configurable, yii\base\ViewContextInterface
Subclassesyii\bootstrap\InputWidget, yii\bootstrap\ToggleButtonGroup, yii\captcha\Captcha, yii\widgets\MaskedInput
Available since version2.0
Source Code https://github.com/yiisoft/yii2/blob/master/framework/widgets/InputWidget.php

InputWidget is the base class for widgets that collect user inputs.

An input widget can be associated with a data $model and an $attribute, or a $name and a $value. If the former, the name and the value will be generated automatically (subclasses may call renderInputHtml() to follow this behavior).

Classes extending from this widget can be used in an ActiveForm using the widget() method, for example like this:

<?= $form->field($model, 'from_date')->widget('WidgetClassName', [
    // configure additional widget properties here
]) ?>

For more details and usage information on InputWidget, see the guide article on forms.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$attribute string The model attribute that this widget is associated with. yii\widgets\InputWidget
$autoIdPrefix string The prefix to the automatically generated widget IDs. yii\base\Widget
$behaviors yii\base\Behavior[] List of behaviors attached to this component. This property is read-only. yii\base\Component
$counter integer A counter used to generate $id for widgets. yii\base\Widget
$field yii\widgets\ActiveField Active input field, which triggers this widget rendering. yii\widgets\InputWidget
$id string|null ID of the widget. Note that the type of this property differs in getter and setter. See getId() and setId() for details. yii\base\Widget
$model yii\base\Model The data model that this widget is associated with. yii\widgets\InputWidget
$name string The input name. yii\widgets\InputWidget
$options array The HTML attributes for the input tag. yii\widgets\InputWidget
$stack yii\base\Widget[] The widgets that are currently being rendered (not ended). yii\base\Widget
$value string The input value. yii\widgets\InputWidget
$view yii\web\View The view object that can be used to render views or view files. Note that the type of this property differs in getter and setter. See getView() and setView() for details. yii\base\Widget
$viewPath string The directory containing the view files for this widget. This property is read-only. yii\base\Widget

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\BaseObject
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
afterRun() This method is invoked right after a widget is executed. yii\base\Widget
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeRun() This method is invoked right before the widget is executed. yii\base\Widget
begin() Begins a widget. yii\base\Widget
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\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
end() Ends a widget. yii\base\Widget
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getId() Returns the ID of the widget. yii\base\Widget
getView() Returns the view object that can be used to render views or view files. yii\base\Widget
getViewPath() Returns the directory containing the view files for this widget. yii\base\Widget
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\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the widget. yii\widgets\InputWidget
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
render() Renders a view. yii\base\Widget
renderFile() Renders a view file. yii\base\Widget
run() Executes the widget. yii\base\Widget
setId() Sets the ID of the widget. yii\base\Widget
setView() Sets the view object to be used by this widget. yii\base\Widget
trigger() Triggers an event. yii\base\Component
widget() Creates a widget instance and runs it. yii\base\Widget

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
hasModel() yii\widgets\InputWidget
renderInputHtml() Render a HTML input tag. yii\widgets\InputWidget

Events

Hide inherited events

EventTypeDescriptionDefined By
EVENT_AFTER_RUN yii\base\WidgetEvent An event raised right after executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent An event raised right before executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) yii\base\Widget

Property Details

$attribute public property

The model attribute that this widget is associated with.

public string $attribute null
$field public property (available since version 2.0.11)

Active input field, which triggers this widget rendering. This field will be automatically filled up in case widget instance is created via yii\widgets\ActiveField::widget().

$model public property

The data model that this widget is associated with.

public yii\base\Model $model null
$name public property

The input name. This must be set if $model and $attribute are not set.

public string $name null
$options public property

The HTML attributes for the input tag.

See also yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.

public array $options = []
$value public property

The input value.

public string $value null

Method Details

hasModel() protected method

protected boolean hasModel ( )
return boolean

Whether this widget is associated with a data model.

init() public method

Initializes the widget.

If you override this method, make sure you call the parent implementation first.

public void init ( )
renderInputHtml() protected method (available since version 2.0.13)

Render a HTML input tag.

This will call yii\helpers\Html::activeInput() if the input widget is tied to a model, or yii\helpers\Html::input() if not.

See also:

protected string renderInputHtml ( $type )
$type string

The type of the input to create.

return string

The HTML of the input field.