我们将创建一个表单以从用户那里获取数据。
在我们的表格中, 我们将为姓名, 联系方式, 课程和电子邮件创建四个输入字段。页面将向后显示输入的值。
步骤1创建模型文件UserForm.php
在这里, 我们将创建一个模型文件, 以在models / UserForm.php中向用户请求数据。
<
?php namespace frontend\models;
use Yii;
use yii\base\Model;
class UserForm extends Model { public $name;
public $contact;
public $course;
public $email;
public function rules() { return [ [['name', 'contact', 'course', 'email'], 'required'], ['email', 'email'], ];
} }
看上面的代码, 函数rules()设置为验证来自用户的数据。
步骤2建立动作
在controllers / SiteController.php中, 我们将创建一个动作用户。
<
?php namespace frontend\controllers;
use Yii;
use yii\base\InvalidParamException;
use yii\web\BadRequestHttpException;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use common\models\LoginForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;
use frontend\models\ContactForm;
use frontend\models\UserForm;
/** * Site controller */ class SiteController extends Controller { /** * @inheritdoc */ public function actionUser() { $model = new UserForm();
if ($model->
load(Yii::$app->
request->
post()) &
&
$model->
validate()) { // valid data received in $model // do something meaningful here about $model ... return $this->
render('user-confirm', ['model' =>
$model]);
} else { // either the page is initially displayed or there is some validation error return $this->
render('user', ['model' =>
$model]);
} }
看上面的代码, action从用户提供的$ _POST方法接收数据。动作validate()将确保输入的数据有效。
如果数据有效, 则操作将呈现给用户确认的视图页面以确认提交。否则, 它将转到其他部分, 说明验证中的错误。
步骤3建立检视
将在视图目录中创建两个文件。
一种是views / site / user-confirm.php中的user-confirm.php文件。
<
?php use yii\helpers\Html;
?>
<
p>
You have entered the following information:<
/p>
<
ul>
<
li>
<
label>
Name<
/label>
: <
?= Html::encode($model->
name) ?>
<
/li>
<
li>
<
label>
Contact<
/label>
: <
?= Html::encode($model->
contact) ?>
<
/li>
<
li>
<
label>
Course<
/label>
: <
?= Html::encode($model->
course) ?>
<
/li>
<
li>
<
label>
Email<
/label>
: <
?= Html::encode($model->
email) ?>
<
/li>
<
/ul>
其他是views / site / user.php中的user.php文件。
<
?php use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<
?php $form = ActiveForm::begin();
?>
<
?= $form->
field($model, 'name') ?>
<
?= $form->
field($model, 'contact') ?>
<
?= $form->
field($model, 'course') ?>
<
?= $form->
field($model, 'email') ?>
<
div class="form-group">
<
?= Html::submitButton('Submit', ['class' =>
'btn btn-primary']) ?>
<
/div>
<
?php ActiveForm::end();
?>
看上面的代码, ActiveForm小部件用于创建HTML表单。 begin()和end()小部件分别表示HTML表单的开始和结束标签。
步骤4在浏览器上运行
在浏览器中输入以下URL以运行该表单,
【YII创建表单用法示例】http://localhost/form/frontend/web/index.php?r = site%2Fuser
文章图片
现在, 我们将在上面的表格中填写详细信息。
文章图片
单击提交按钮后, 我们将看到经过验证的信息。
文章图片
推荐阅读
- YII创建数据库用法示例
- YII控制器动作介绍和用法示例
- YII cookie介绍和用法示例
- YII控制器介绍和用法示例
- Yii CRUD数据库操作实例图解
- Linux安装YII详细步骤图解(最全面)
- Yii2快速安装简要步骤
- YII教程入门介绍
- Yii项目结构详细解释