‘yii\widgets\ActiveForm’ class is used to create a form and ‘yii\helpers\Html’ class is used to display the different type of HTML input fields like buttons, textbox, select box etc.
ActiveForm::begin() - creates a form instance and beginning of the form. ActiveForm::begin() and ActiveForm::end() - All of the content placed between this.
‘ActiveForm’ namespace is very important to create the a active form and ‘Html’ namespace is very useful to display the different html input fields.
'active-form',
'options' => [
'class' => 'form-horizontal',
'enctype' => 'multipart/form-data'
],
])
/* ADD FORM FIELDS */
ActiveForm::end();
?>
Here we added active form with basic details like form id, class and enctype for file uploads.
//Format 1
= $form->field($model,'name'); ?>
//Format 2
= $form->field($model, 'name')->textInput()->hint('Please enter your name')->label('Name') ?>
Format 1 is a normal text input field. Format 2 is a text input field with hint, label.
The model attribute value will be used as the content in the textarea.
= $form->field($model, 'desc')->textarea(); ?>
= $form->field($model, 'desc')->textarea()->label('Description'); ?>
= $form->field($model, 'desc')->textarea(array('rows'=>2,'cols'=>5)); ?>
//Format 1
= $form->field($model, 'password')->input('password') ?>
//Format 2
= $form->field($model, 'password')->passwordInput() ?>
//Format 3
= $form->field($model, 'password')->passwordInput()->hint('Password should be within A-Za-z0-9')->label('Password Hint') ?>
We added different type of password input field like password with hint, custom lable.
= $form->field($model, 'email')->input('email') ?>
fileInput() function is used to create a file input fields and ‘multiple’ parameter is used to upload multiple file in single upload.
= $form->field($model, 'uploadFile')->fileInput() ?>
field($model, 'uploadFile[]')->fileInput(['multiple'=>'multiple']); ?>
Using below we can create the Checkbox base on model attribute of yii2.0 framework. We added the following options like custom label, disabled, style etc
= $form->field($model, 'population')->checkbox(); ?>
= $form->field($model, 'population')->checkbox(array('label'=>'')); ?>
= $form->field($model, 'population') ->checkbox(array('label'=>''))
->label('Gender'); ?>
= $form->field($model, 'population')->checkbox(array(
'label'=>'',
'labelOptions'=>array('style'=>'padding:5px;'),
'disabled'=>true
))
->label('Gender'); ?>
checkboxList() function is used to display the check box list using array of input argument values.
field($model, 'name[]')->checkboxList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>
The model attribute value will be used to create the redio button.
= $form->field($model, 'gender')->radio(); ?>
= $form->field($model, 'gender')->radio(array('label'=>'')); ?>
= $form->field($model, 'gender') ->radio(array('label'=>''))
->label('Gender'); ?>
= $form->field($model, 'gender')->radio(array(
'label'=>'',
'labelOptions'=>array('style'=>'padding:5px;')))
->label('Gender'); ?>
The model attribute value will be used to create the redio button list.
= $form->field($model, 'population')->radioList(array('1'=>'One',2=>'Two')); ?>
Using below we can create the list box base on model attribute of yii2.0 framework. We added the following options like prompt, size, disabled, style etc
= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('prompt'=>'Select')
); ?>
= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('prompt'=>'Select','size'=>3)
); ?>
= $form->field($model, 'population')-> listBox(
array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
array('disabled' => true,'style'=>'background:gray;color:#fff;'))
->label('Gender'); ?>
dropDownList() function is used to create HTML ‘select’ tag input field.
//Format 1
field($model, 'name')->dropDownList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>
// Format 2
< echo $form->field($model, 'name')->dropDownList($listData, ['prompt'=>'Choose...']);>
= Html::submitButton('Submit', ['class'=> 'btn btn-primary']) ;?>