由于表单涉及到一些验证方面的信息,属性设置又比较多、比较复杂,所以哪里有什么不正确的地方请留言指点
目录
下面是生成的表单Html,我在里面标明了5部分。
1、表单的生成
在Yii中表单即ActiveForm也是Widget,在上面可以看到是由begin开始
中间为各个项的输入框,最后由end结尾
2、表单中的方法
在Widget中 begin()方法会调用 int方法
在最后的
end()方法会调用
run方法
1、ActiveForm::begin()方法
目录
- 表单的生成
- 表单中的方法
- ActiveForm::begin()方法
- ActiveForm::end()方法
- getClientOptions()方法
- 其它方法:errorSummary、validate、validateMultiple
- 表单中的参数
- 表单form自身的属性
- 表单中各个项(field)输入框相关的属性
- $fieldConfig
- 关于验证的属性
- 关于每个field容器样式的属性
- ajax验证
- 前端js事件
- 表单中的其它属性
- <?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
- <?= $form->field($model, 'username') ?>
- <?= $form->field($model, 'password')->passwordInput() ?>
- <?= $form->field($model, 'rememberMe')->checkbox() ?>
- <div style="color:#999;margin:1em 0">
- If you forgot your password you can <?= Html::a('reset it', ['site/request-password-reset']) ?>
- </div>
- <div class="form-group">
- <?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
- </div>
- <?php ActiveForm::end(); ?>
1、表单的生成
在Yii中表单即ActiveForm也是Widget,在上面可以看到是由begin开始
- <?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
- <?php ActiveForm::end(); ?>
2、表单中的方法
在Widget中 begin()方法会调用 int方法
- public function init()
- public function run()
- //这个是在执行 $form = ActiveForm::begin(['id' => 'login-form']); 中的begin方法的时候调用的
- public function init()
- {
- //设置表单元素form的id
- if (!isset($this->options['id'])) {
- $this->options['id'] = $this->getId();
- }
- //设置表单中间的要生成各个field的所使用的类
- if (!isset($