详解Yii2 定制表单输入字段的标签和样式

时间:2022-10-01 14:02:09

Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField,

要生成一个具有label、input、error提示这样通用格式的登录框,可编写如下代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
<?php $form = ActiveForm::begin([
 'id' => 'login-form',
 'options' => ['class' => 'form-horizontal'],
 'fieldConfig' => [
  'template' => "{label}\n<div class=\"col-lg-3\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
  'labelOptions' => ['class' => 'col-lg-1 control-label'],
 ],
]); ?>
 
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput()
?>

上述代码生成两个带默认标签名(如Username,Password)的表单输入框(input)。

如果想更改输入框的标签及其样式,有两个方式,一个是通过labelOptions参数:

 

复制代码 代码如下:

<?= $form->field($model, 'username',['labelOptions' => ['label' => 'Nick name','class' => 'your own class']]) ?>

 

还有一个更加面向对象的方法是:

 

复制代码 代码如下:

<?= $form->field($model, 'username')->textInput()->hint('Please enter your nick name instead of email')->label('Nick name') ?>

 

更多关于表单和字段的内容,请参考Yii2在线中文指南-表单章节

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。