【YII2学习笔记】20150727-1


一、需包含组件

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值