Yii2.0 ActiveForm Input Fields

2015/06/02 22:10
阅读数 1.3K

之前5月学习Yii2的时候发现的一个不错的博客内容,这里转载保存。

  1. Use the namespace For ActiveForm
  2. Active Form Begin And End
  3. Text Input Field
  4. TextArea Field
  5. Password Input Field
  6. HTML5 Email Input Field
  7. File Upload
  8. Checkbox Button Field
  9. Checkbox List Input Field
  10. Radio Button Field
  11. Radio Button List Field
  12. ListBox Field
  13. dropDown List Input Field
  14. Submit Button

‘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.

Use the namespace For ActiveForm

1 <?php
2 use yii\helpers\Html;
3 use yii\widgets\ActiveForm;
4 ?>

‘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 Begin And End

01 <?php
02 use yii\helpers\Html;
03 use yii\widgets\ActiveForm;
04  
05 //$form = ActiveForm::begin(); //Default Active Form begin
06 $form = ActiveForm::begin([
07     'id' => 'active-form',
08     'options' => [
09                 'class' => 'form-horizontal',
10                 'enctype' => 'multipart/form-data'
11                 ],
12 ])
13 /* ADD FORM FIELDS */
14 ActiveForm::end();
15 ?>

Here we added active form with basic details like form id, class and enctype for file uploads.

Text Input Field

1 //Format 1
2 <?= $form->field($model,'name'); ?>
3 //Format 2
4 <?= $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.

TextArea Field

The model attribute value will be used as the content in the textarea.

1 <?= $form->field($model, 'desc')->textarea(); ?>
2 <?= $form->field($model, 'desc')->textarea()->label('Description'); ?>
3 <?= $form->field($model, 'desc')->textarea(array('rows'=>2,'cols'=>5)); ?>

Password Input Field

1 //Format 1
2 <?= $form->field($model, 'password')->input('password') ?>
3 //Format 2
4 <?= $form->field($model, 'password')->passwordInput() ?>
5 //Format 3
6 <?= $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.

HTML5 Email Input Field

1 <?= $form->field($model, 'email')->input('email') ?>

File Upload

fileInput() function is used to create a file input fields and ‘multiple’ parameter is used to upload multiple file in single upload.

Single File Upload

1 <?= $form->field($model, 'uploadFile')->fileInput() ?>

MultiFile Upload

1 <?php echo $form->field($model, 'uploadFile[]')->fileInput(['multiple'=>'multiple']); ?>

Checkbox Button Field

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

01 <!-- CHECKBOX BUTTON DEFAULT LABEL -->
02 <?= $form->field($model, 'population')->checkbox(); ?>
03 <!-- CHECKBOX BUTTON WITHOUT LABEL -->
04 <?= $form->field($model, 'population')->checkbox(array('label'=>'')); ?>
05 <!-- CHECKBOX BUTTON WITH CUSTOM LABEL -->
06 <?= $form->field($model, 'population')    ->checkbox(array('label'=>''))
07                                         ->label('Gender'); ?>
08 <!-- CHECKBOX BUTTON WITH LABEL OPTIONS, DISABLED AND STYLE PROPERTIES -->
09 <?= $form->field($model, 'population')->checkbox(array(
10                                 'label'=>'',
11                                 'labelOptions'=>array('style'=>'padding:5px;'),
12                                 'disabled'=>true                            
13                                 ))
14                                 ->label('Gender'); ?>

Checkbox List Input Field

checkboxList() function is used to display the check box list using array of input argument values.

1 <?php echo $form->field($model, 'name[]')->checkboxList(['a' => 'Item A', 'b' => 'Item B', 'c' =>'Item C']); ?>

Radio Button Field

The model attribute value will be used to create the redio button.

01 <!-- RADIO BUTTON DEFAULT LABEL -->
02 <?= $form->field($model, 'gender')->radio(); ?>
03 <!-- RADIO BUTTON WITHOUT LABEL -->
04 <?= $form->field($model, 'gender')->radio(array('label'=>'')); ?>
05 <!-- RADIO BUTTON WITH CUSTOM LABEL -->
06 <?= $form->field($model, 'gender')    ->radio(array('label'=>''))
07                                         ->label('Gender'); ?>
08 <!-- RADIO BUTTON WITH LABEL OPTIONS -->
09 <?= $form->field($model, 'gender')->radio(array(
10                                 'label'=>'',
11                                 'labelOptions'=>array('style'=>'padding:5px;')))
12                                 ->label('Gender'); ?>

Radio Button List Field

The model attribute value will be used to create the redio button list.

1 <?= $form->field($model, 'population')->radioList(array('1'=>'One',2=>'Two')); ?>

ListBox Field

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

01 <!-- Listbox with prompt text -->
02 <?= $form->field($model, 'population')-> listBox(
03             array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
04             array('prompt'=>'Select')
05             ); ?>
06 <!-- Listbox with size -->
07 <?= $form->field($model, 'population')-> listBox(
08             array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
09             array('prompt'=>'Select','size'=>3)
10             ); ?>
11 <!-- Listbox with disabled, style properties -->
12 <?= $form->field($model, 'population')-> listBox(
13             array('1'=>'1',2=>'2',3=>3,4=>4,5=>5),
14             array('disabled' => true,'style'=>'background:gray;color:#fff;'))
15             ->label('Gender'); ?>

dropDown List Input Field

dropDownList() function is used to create HTML ‘select’ tag input field.

1 //Format 1
2 <?php echo $form->field($model, 'name')->dropDownList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>
3 // Format 2
4 < echo $form->field($model, 'name')->dropDownList($listData, ['prompt'=>'Choose...']);>

Submit Button

1 <?= Html::submitButton('Submit', ['class'=> 'btn btn-primary']) ;?>

展开阅读全文
打赏
0
4 收藏
分享
打赏
0 评论
4 收藏
0
分享
返回顶部
顶部