您的位置:首页 > 编程语言 > PHP开发

【YII2学习笔记】20150727-1

2015-07-27 14:40 741 查看
一、需包含组件

1.控制器

use Yii;
use yii\web\Controller;
use app\models\对应Form的模型;


2.视图

use yii\helpers\Html;
use yii\widgets\ActiveForm;


二、生成表单

<?php $form = ActiveForm::begin(); ?>

<?= $form->field($model, 'name') ?>
<?= $form->field($model, 'sex')->dropDownList(['0'=>'男','1'=>'女']) ?>
<?= $form->field($model, 'content')->textarea() ?>

<div class="form-group">
<?= Html::submitButton('提交', ['class' => 'btn btn-info']) ?>
</div>

<?php ActiveForm::end(); ?>


三、控制器处理

$model = new EntryForm();
if ($model->validate()) {
// 验证成功!
} else {
// 失败!
// 使用 $model->getErrors() 获取错误详情
}


四、模型处理

namespace app\models;
use yii\base\Model;

class AddForm extends Model{
public $name;     //前台所包含的字段
public $sex;
public $content;

public function rules(){
return [
[['name', 'sex', 'content'], 'required'],
['name','string','length'=>[2,10]],
//['email','eamil','message'=>'这里必须邮箱'],
//['name','url','defaultScheme'=>'http','message'=>'xxx'],
];
}

public function attributeLabels(){
return [
<pre name="code" class="php">                <span style="font-family: Arial, Helvetica, sans-serif;">'name'=>'姓名',</span>
'sex'=>'性别', 'content'=>'内容' ;} 


五、VIEW处理

<?php $form = ActiveForm::begin(); ?>  //默认样式<span style="font-family: Arial, Helvetica, sans-serif;">  </span>
<span style="font-family: Arial, Helvetica, sans-serif;">         <?= $form->field($model, 'name') ?></span>
<?= $form->field($model, 'sex')->dropDownList(['0'=>'男','1'=>'女']) ?>
<?= $form->field($model, 'content')->textarea() ?>

<div class="form-group">
<?= Html::submitButton('提交', ['class' => 'btn btn-info']) ?>
</div>
<?php ActiveForm::end(); ?>


六、HTML页面

<form class="form-horizontal" action="" method="post">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">昵称:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" id="name" placeholder="输入昵称">
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">性别:</label>
<div class="col-sm-10">
<select name="sex" class="form-control">
<option>男</option>
<option>女</option>
<option>未知生物</option>
<option>CP</option>
</select>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">留言内容:</label>
<div class="col-sm-10">
<textarea name="content" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-10">
<input class="btn btn-info" type="submit" value="提交">
</div>
</div>
</form>


范例1.:

文本框:textInput();

密码框:passwordInput();

单选框:radio(),radioList();

复选框:checkbox(),checkboxList();

下拉框:dropDownList();

隐藏域:hiddenInput();

文本域:textarea(['rows'=>3]);

文件上传:fileInput();

提交按钮:submitButton();

重置按钮:resetButtun(); 

范例2:
<?php
$form = ActiveForm::begin(['action' => ['test/getpost'],'method'=>'post',]); ?>

<? echo $form->field($model, 'username')->textInput(['maxlength' => 20]) ?>

<? echo $form->field($model, 'password')->passwordInput(['maxlength' => 20]) ?>

<? echo $form->field($model, 'sex')->radioList(['1'=>'男','0'=>'女']) ?>

<? echo $form->field($model, 'edu')->dropDownList(['1'=>'大学','2'=>'高中','3'=>'初中'], ['prompt'=>'请选择','style'=>'width:120px']) ?>

<? echo $form->field($model, 'file')->fileInput() ?>

<? echo $form->field($model, 'hobby')->checkboxList(['0'=>'篮球','1'=>'足球','2'=>'羽毛球','3'=>'乒乓球']) ?>

<? echo $form->field($model, 'info')->textarea(['rows'=>3]) ?>

<? echo $form->field($model, 'userid')->hiddenInput(['value'=>3]) ?>

<? echo Html::submitButton('提交', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>

<? echo Html::resetButton('重置', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>

<?php ActiveForm::end(); ?>


*范例转载:http://www.yiichina.com/tutorial/341

范例3:

//$form = ActiveForm::begin(); //默认的FORM样式
$form = ActiveForm::begin([    //对FORM进行样式修改添加
'id' => 'active-form',
'options' => [
'class' => 'form-horizontal',
'enctype' => 'multipart/form-data'
],
])


*范例转载:http://www.kuitao8.com/20150321/3638.shtml

七、框架源码所在(更详细看)
yii\vendor\yiisoft\yii2\widgets\ActiveField.php

yii\vendor\yiisoft\yii2\widgets\ActiveForm.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: