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 widget. In addition, this extension enhances and extends the Yii ActiveField widget. 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
- Input Feedback Icons
- 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.
Installation ¶
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.
Latest Release ¶
Note: The latest version of the module is v1.4.4. Refer the CHANGE LOG for details.
Demo ¶
You can refer detailed documentation and demos for understanding the usage of the extension at these links below:
Usage ¶
ActiveForm ¶
// 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]
]);
ActiveField ¶
// 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="glyphicon glyphicon-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
]
]
]);
License ¶
yii2-widget-activeform is released under the BSD 3-Clause License. See the bundled LICENSE.md
for details.
Report ¶
- Report any issues on the project page
- Use the forum page for any discussions on this extension
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.