Extends and enhances the Yii ActiveForm widget. Facilitates all three form layouts available in Bootstrap i.e. vertical, horizontal, and inline. Allows options for offsetting labels and inputs for horizontal form layout. Works closely with the extended ActiveField component. In addition, this extension enhances and extends the Yii ActiveField component. Allows Bootstrap styled input group addons to be prepended or appended to textInputs. Implements feedback icons within inputs based on contextual states. Automatically adjusts checkboxes and radio input offsets for horizontal forms. Allows, flexibility to control the labels and placeholders based on form layout style (e.g. hide labels and show them as placeholder for inline forms). The extended ActiveField functionalities available are:
- Addons
- Prepend Addon
- Append Addon
- Icon Addon
- Input Addon
- Button Addon
- Button Dropdown Addon
- Segmented Button Addon
- Prepend & Append
- Input Group Settings
- Multiple Addons Configuration (new since v1.4.9)
- Input Feedback Icons
- Input Hints Management
- Inputs
- Checkbox
- Radio
- Checkbox List
- Radio List
- Static Input
- HTML 5 Input
- Checkbox Button Group
- Radio Button Group
- Multi Select
- Vertical Form
- Horizontal Form
- Radio List
- Display Options
NOTE: This extension is a sub repo split of yii2-widgets. The split has been done since 08-Nov-2014 to allow developers to install this specific widget in isolation if needed. One can also use the extension the previous way with the whole suite of yii2-widgets.
The preferred way to install this extension is through composer. Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the minimum-stability
settings for your application's composer.json.
To install, either run
$ php composer.phar require kartik-v/yii2-widget-activeform "@dev"
or add
"kartik-v/yii2-widget-activeform": "@dev"
to the require
section of your composer.json
file.
NOTE: Refer the CHANGE LOG for details on changes to various releases.
You can refer detailed documentation and demos for understanding the usage of the extension at these links below:
// add this in your view
use kartik\form\ActiveForm;
// Vertical Form
$form = ActiveForm::begin([
'id' => 'form-signup',
'type' => ActiveForm::TYPE_VERTICAL
]);
// Inline Form
$form = ActiveForm::begin([
'id' => 'form-login',
'type' => ActiveForm::TYPE_INLINE,
'fieldConfig' => ['autoPlaceholder'=>true]
]);
// Horizontal Form Configuration
$form = ActiveForm::begin([
'id' => 'form-signup',
'type' => ActiveForm::TYPE_HORIZONTAL,
'formConfig' => ['labelSpan' => 3, 'deviceSize' => ActiveForm::SIZE_SMALL]
]);
// Implement a feedback icon
echo $form->field($model, 'email_2', [
'feedbackIcon' => [
'default' => 'envelope',
'success' => 'ok',
'error' => 'exclamation-sign',
'defaultOptions' => ['class'=>'text-primary']
]
])->textInput(['placeholder'=>'Enter a valid email address...']);
// Prepend an addon text
echo $form->field($model, 'email', ['addon' => ['prepend' => ['content'=>'@']]]);
// Append an addon text
echo $form->field($model, 'amount_paid', [
'addon' => ['append' => ['content'=>'.00']]
]);
// Formatted addons (like icons)
echo $form->field($model, 'phone', [
'addon' => [
'prepend' => [
'content' => '<i class="fas fa-phone"></i>'
]
]
]);
// Formatted addons (inputs)
echo $form->field($model, 'phone', [
'addon' => [
'prepend' => [
'content' => '<input type="radio">'
]
]
]);
// Formatted addons (buttons)
echo $form->field($model, 'phone', [
'addon' => [
'prepend' => [
'content' => Html::button('Go', ['class'=>'btn btn-primary']),
'asButton' => true
]
]
]);
yii2-widget-activeform is released under the BSD-3-Clause License. See the bundled LICENSE.md
for details.