Yii2创建表单(ActiveForm)方法详解
来源:
中文源码网 浏览:148 次 日期:2024-04-17 02:32:21
【下载文档: Yii2创建表单(ActiveForm)方法详解.txt 】
Yii2创建表单(ActiveForm)方法详解
本文实例讲述了Yii2创建表单(ActiveForm)的方法。分享给大家供大家参考,具体如下:
由于表单涉及到一些验证方面的信息,属性设置又比较多、比较复杂,所以哪里有什么不正确的地方请留言指点
目录
表单的生成
表单中的方法
ActiveForm::begin()方法
ActiveForm::end()方法
getClientOptions()方法
其它方法:errorSummary、validate、validateMultiple
表单中的参数
表单form自身的属性
表单中各个项(field)输入框相关的属性
$fieldConfig
关于验证的属性
关于每个field容器样式的属性
ajax验证
前端js事件
表单中的其它属性
我们先看看Yii里面最简单的登录表单以及生成的html代码和界面,先有个直观的了解
'login-form']); ?>
= $form->field($model, 'username') ?>
= $form->field($model, 'password')->passwordInput() ?>
= $form->field($model, 'rememberMe')->checkbox() ?>
If you forgot your password you can = Html::a('reset it', ['site/request-password-reset']) ?>
= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
下面是生成的表单Html,我在里面标明了5部分。
1、表单的生成
在Yii中表单即ActiveForm也是Widget,在上面可以看到是由begin开始
'login-form']); ?>
中间为各个项的输入框,最后由end结尾
2、表单中的方法
在Widget中begin()方法会调用int方法
public function init()
在最后的end()方法会调用run方法
public function run()
1、ActiveForm::begin()方法
//这个是在执行 $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($this->fieldConfig['class'])) {
$this->fieldConfig['class'] = ActiveField::className();
}
//这个就是输出表单的开始标签
//如: