tp表单的提交与验证

一、控制器如下

引用use app\index\model\User;

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

public function index(){   return  $this->fetch(‘index‘);//显示模版}

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

}

二、模型内容如下

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

}

三模版内容

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

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

<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="提交"/>

</form>

四、验证层

1、在application新建validate文件目录

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

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

}
时间: 2024-12-31 20:30:11

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

JavaScript基础 submit按钮配合form的onsubmit实现表单的提交与验证

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

JavaScript基础 submit按钮结合onclick事件 实现表单的提交与验证

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

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

function checkform(){ if(!isNumeric($('.apply_money').val())){ alert("必须是数字"); return false; } var num = parseInt($('.apply_money').val()); if(num<=0){ alert("请输入大于0的数"); return false; } return true; } <form action="?action=

js 验证表单 js提交验证类

js 验证表单 js提交验证类 附加:js验证radio是否选择 <script language="javascript">function checkform(obj){for(i=0;i<obj.oo.length;i++)         if(obj.oo[i].checked==true) return true; alert("请选择")return false; }</script><form id="f

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

PHP防止重复提交表单 2016-11-08 轻松学PHP 我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手,首先从前端做限制.前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效.第二,

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

博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 1 function check(){ 2 $.post("#name")("xxx.php",{user:user}function(msg){ 3 if(msg){return false;} 4 }) 5 } 1 <form class="form" method="post&qu

js日期/时间比较函数,以及js校验表单后提交表单的三种方法,表单验证,以及三种结合

<pre class="html" name="code"> js日期比较(yyyy-mm-dd) function duibi(a, b) { var arr = a.split("-"); var starttime = new Date(arr[0], arr[1], arr[2]); var starttimes = starttime.getTime(); var arrs = b.split("-");

表单重复提交问题

一.常见的重复提交问题  a>点击提交按钮两次.  b>点击刷新按钮.  c>使用浏览器后退按钮重复之前的操作,导致重复提交表单.  d>使用浏览器历史记录重复提交表单.  e>浏览器重复的HTTP请求. 二.防止表单重复提交原理 提交表单的时候提交一份随机的字符串或随机数字等等,再把这个随机的数据存到request里面,然后把表单数据提交,在后台验证的时候判断提交的这两份额外的数据是否一致,如果一致,则把其中一份删除掉,这么做的目的是防止再次提交,继续进行操作,如果不一致,

防表单重复提交

防表单重复提交 1.令牌生成器 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Random; import sun.misc.BASE64Encoder; public class TokenProccessor { /* *单例设计模式(保证类的对象在内存中只有一个) *1.把类的构造函数私有 *2.自己创建一个类的对象 *3.对外提供一个公