一、控制器如下

引用use app\index\model\User;

//注意模型类名不能和控制器类名相同

  1. public function index()
    {
    return $this->fetch('index');//显示模版
    }
  2.  
  3. public function add()//添加数据
    {
    $user=new User;
      //allowField过滤无用的字符串
      //validata开启字段验证机制
      //input("post.")表示传送过来的全部参数
  1. if($user->allowField(true)->validate(true)->save(input("post.")))
    {
    return '添加成功';
    }else{
    return $user->getError();
    }
  2.  
  3. }

二、模型内容如下

  1. namespace app\index\model;
    use think\Model;
    //没有处理任何东西,可以选加载一些要用的如自动完成
    class User extends Model
    {
  2.  
  3. }
  4.  

三模版内容

//{:url('index/users/add')}当前控制器提交地址

//{$Request.token}随机TOKEN需要引用REQUEST

  1. <h2>创建用户</h2>
    <form method="post" action="{:url('index/users/add')}">
    用户:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    邮箱:<input type="mail" name="mail"/><br/>
    <input type="hidden" name="__token__" value="{$Request.token}">
    <input type="submit" value="提交"/>
  2.  
  3. </form>

四、验证层

1、在application新建validate文件目录

2、新建类文件user.php  注意与表名相同。与模型类名也是相同的内容如下:

  1. namespace app\index\validate;
    use think\Validate;
    class User extends Validate
    {
    //验证规则变量必须是rule,更多验证规则请参考手册
  1. protected $rule=[
    ['username','require|min:4','用户名必须|用户名不能少于4位'],
    ['mail','email','邮箱格式不正确'],
    ['password','require','密码必须']
    ];
  2.  
  3. }

tp表单的提交与验证的更多相关文章

  1. form表单ajaxSubmit提交并验证

    html: <form class="register-form" action="{:U('')}" method="post"&g ...

  2. HTML表单 在提交之前 验证表单数字合法性

    function checkform(){ if(!isNumeric($('.apply_money').val())){ alert("必须是数字"); return fals ...

  3. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

  4. Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...

  5. php通过token验证表单重复提交

    PHP防止重复提交表单 2016-11-08 轻松学PHP 我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后 ...

  6. ASP.NET MVC 客户端验证失败后表单仍然提交问题

    客户端验证失败后表单仍然提交问题!导致页面刷新,辛辛苦苦输入的内容荡然无存. 多么奇怪的问题.按道理,验证失败,就应该显示各种错误信息,不会提交表单才对.而现在,错误信息正常显示,但页面却刷新了一遍. ...

  7. js阻止form表单重复提交

    防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...

  8. form表单action提交表单,页面不跳转且表单数据含文件的处理方法

    在最近的项目中需要将含 input[type='file']的表单提交给后台 ,并且后台需要将文件存储在数据库中.之前所用的方法都是先将文件上传到七牛服务器上,然后七牛会返回文件的下载地址,在提交表单 ...

  9. PHP生成token防止表单重复提交

    .提交按钮置disabled 当用户提交后,立即把按钮置为不可用状态.这种用js来实现. 提交前代码如下: $()  {  $exec="insert into student (user_ ...

随机推荐

  1. Pinger

    import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import j ...

  2. java科学计数法转换成普通计数法

    java科学计数法转换成普通计数法: String sjiachun = "12345E-10"; BigDecimal db = new BigDecimal(sjiachun) ...

  3. VM虚拟机安装之后出现无法自动登录到桌面以及__vmware_user__怎么办

    1 运行control userpasswords2 打开用户账户对话框,点击高级选项中的"高级"按钮 2 右击" __vmware_user__"这个账户,选 ...

  4. T-SQL 之 游标

    游标是面向行的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 在性能上,游标会占有更多的内存,减少可用的并发,占用带宽,锁定资源,当然还有更多的代码量. 用一个比喻来说明为什么游标会 ...

  5. curl库的使用,32-64

    http 使用curl发起https请求 http://www.cnblogs.com/ainiaa/archive/2011/11/08/2241385.html Curl配置及编译: CFLAGS ...

  6. 如何更改删除window服务?

    Cmd 下输入 sc delete 服务名 想要看服务名直接cmd下输入services.msc 打开服务, 例如删除apache服务 命令:sc delete Apache2.4

  7. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之compiz特效插件介绍及特效实现

    compiz自带的特效插件不够多,也不够强大.为了更好的体验compiz的特效,我们能够安装特效插件,在终端输入命令:sudo apt-get install compiz-plugins就能够下载特 ...

  8. 【BIRT】在页面上展示xxxx年xx月xx日

    我们在做报表开发的时候经常会遇到一个问题,就是需要在报表上展示”xxxx年xx月xx日”这种日期,例如:需要在报表展示日期如下图: 我们现在数据库存储的日期是:20171231 那么我们如何转化为 这 ...

  9. iOS微信支付集成

    概述 iOS微信支付集成 详细 代码下载:http://www.demodashi.com/demo/10735.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧(纯 ...

  10. genymotion安装(unknown generic error)及配置在Android studio环境中

    /*转载请注明出处.本文地址:http://write.blog.csdn.net/postedit/44261371*/ genymotion模拟器的长处我就不阐述了,一个字:快!! .如今来说一下 ...