1.表单的创建
在yii中主要是通过 yii\widgets\ActiveForm 类来创建表单。
ActiveForm::begin() 不仅创建了一个表单实例,同时也标记着表单的开始。
放在 ActiveForm::begin() 与 ActiveForm::end()之间的所有内容都被包裹在HTML的<form>标签中。
中间是通过调用ActiveForm::field() 方法来创建一个ActiveField实例。这个实例会创建表单元素与元素的标签,以及对应的JavaScript验证
ActiveField有一个对应的模型和属性,input 输入框的name属性会自动的根据属性名来创建;同时,还会用属性的验证规则来验证用户输入的数据。
2.ActiveField对象的使用
<?= $form->field($model,'password')->passwordInput() ?>
<?= $form->field($model,'username')->textInput()->hint('Please enter your name')->label('Name') ?>
<?= $form->field($model,'email')->Input('email') ?>
3.额外标签的处理
表单中,存在一些和模型对象没有关系的,额外的HTML标签,比如submitButton我们可以:
使用纯HTML
使用 yii\helpers\Html 帮助类中的方法来添加到表单中
4.Bootstrap版的表单
实际上,Basic 应用模板中使用的bootstrap CSS 这个前端框架。用的是 yii\bootstrap\ActiveForm 来做表单的,而不是用 yii\widgets\ActiveForm。bootstrap 做一些增强,并且使用Bootstrap 特有的样式。