假设我们在ArticleController.php下面的actionForm方法中来处理提交的表单

新建立一个 views/Article/article-form.php文件用来作为输入表单

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title') ?> <?= $form->field($model, 'content') ?> <div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div> <?php ActiveForm::end(); ?>

新建立一个 views/Article/article-confirm.php文件用来显示表单处理成功后的结果

<?php
use yii\helpers\Html;
?>
<p>You have entered the following information:</p> <ul>
<li><label>Name</label>: <?= Html::encode($model->title) ?></li>
<li><label>Email</label>: <?= Html::encode($model->content) ?></li>
</ul>

需求:提交过来的数据需要验证--title、content不能为空

新建models/ArticleForm.php

<?php

namespace app\models;

use yii\base\Model;

class ArticleForm extends Model
{
public $title;
public $content; public function rules()
{
return [
[['title', 'content'], 'required'],
//['email', 'email'],
];
}
}

最后在ArticleController.php中完成actionForm方法

public function actionForm()
{
$model = new ArticleForm;
if ($model->load(Yii::$app->request->post()) && $model->validate())
{
// 验证 $model 收到的数据
// 做些有意义的事 ...
return $this->render('article-confirm', ['model' => $model]);
}
else
{
// 无论是初始化显示还是数据验证错误
return $this->render('article-form', ['model' => $model]);
}

访问http://www.basic.com/index.php?r=article/form即可测试

yii2.0 控制器方法 视图表单 Form表单处理的更多相关文章

  1. form表单提交不刷新页面的方法

    方法1:给form表单加onsubmit事件,值为return false; <form action="" method="post"  onsubmi ...

  2. 细说 Form (表单)

    细说 Form (表单) Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源. 虽然Asp.net WebForms框架为了帮助 ...

  3. 前端-form表单与CSS

    目录 form表单 表单属性 label标签 input标签 select 下拉框标签 textarea多行文本 提交 Flask 结合form表单 初探 CSS介绍以及基本选择器 基本选择器 组合选 ...

  4. python自动化开发-[第二十天]-form表单,CBV和FBV,序列化

    1.CBV和FBV的用法 2.序列化用法 3.form表单 一.CBV和FBV 1.cbv是 class based view(基于类),fbv是function based view(基于函数) 2 ...

  5. 应用二:Vue之ElementUI Form表单校验

    (注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的)   表单校验是前端开发过程中最常用到的功能之一,根据个人的工作经验总结在此对表单校验功能的基 ...

  6. 前端之form表单与css(1)

    目录 一.form表单 1.1表单的属性 1.2input 1.2.1form表单提交数据的两种方式 1.3select标签 1.4label标签 1.5textarea多行文本标签 二.CSS 2. ...

  7. 避免layui form表单重复触发submit绑定事件

    个人博客 地址:http://www.wenhaofan.com/article/20180927002336 在使用以下代码监听lay-filter为editConfig的提交按钮后,当点击提交按钮 ...

  8. form表单与css选择器

    目录 form表单 action属性 input标签 lable标签 select标签 textarea标签 补充 网络请求方式 CSS简介 CSS基本选择器 组合选择器 属性选择器 分组与嵌套 伪类 ...

  9. JS 提交form表单

    源码实例一:javascript 页面加裁时自动提交表单Form表单:<form method="post" id="myform" action=&qu ...

随机推荐

  1. html系列教程--link mark meta

    <link> 标签:定义文档与外部资源的关系,常见的用途是链接样式表 demo: <link rel="stylesheet" type="text/c ...

  2. Datatable根据多行排序

    DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Na ...

  3. Eclipse配置Hadoop开发环境

    Step 1:选择Hadoop版本对应的Eclipse插件jar包(可自行编译),我的Hadoop版本是hadoop-0.20.2,对应的插件应该是:hadoop-0.20.2-eclipse-plu ...

  4. 使用EXTEND方式来分段处理大表的搬数据

    创建一个表: 记录rowid的分区段并作为处理的日志表: DROP TABLE DEAL_TABLE_EXTENT; CREATE TABLE DEAL_TABLE_EXTENT(seq        ...

  5. Row versus Set Processing, Surprise!(集合处理和单行处理数据的差异性)

    Row versus Set Processing, Surprise! Craig Shallahamer: 1. Set based processing will likely be much ...

  6. SQL 语句中按照in语句原有的顺序进行排序

    Access: ,,) order by instr(',1,5,3,',','&;id&;',') MSSQL: ,,) )))+',',',1,5,3,') MySQL: ,,) ...

  7. poj 2001 Shortest Prefixes

    字典树的简单应用. #include<stdio.h> #include<string.h> ][]; struct node{ int cnt; node *next[]; ...

  8. perl 递归地遍历目录下的文件

    #!/usr/bin/perl -w use strict; use File::Spec; local $\ ="\n";#当前模块的每行输出加入换行符 my %options; ...

  9. JS输出日历

    页面HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...

  10. HTML5 canvas易错点

    一.画布的默认宽高 <canvas id="myCanvas" style="border:1px solid black;"> 你的浏览器不支持h ...