• Thinkphp5使用validate实现验证功能


    作为前端er,对于验证这块有着切身的体会,虽然逐渐得心应手,但始终没有一个内置的功能拿来就能用。tp5恰好提供一个。本文简单介绍并实现以下。主要是实现一下。

    验证的实现基于tp5内置的对象validate。

    在Index模块化下index控制器同级目录创建一个validate文件,里面一个Vdate.php验证文件,这个文件也可以放在common目录下面,只要namespace正确就可。代码如下

     1 <?php
     2     namespace appindexvalidate;
     3     use thinkValidate;
     4     class  Vdate extends Validate{
     5       //每个字段对应一个规则,这是第一层
     6         protected $rule=[
     7           ["name","require|max:10","不能为空|分类名不能超过10个字符"],
     8           ["parent_id","number","必须为数字"],
     9         /*  ["id","number","必须是数字"],
    10           ["status","number|in:1,0,-1","必须是数字|必须是是0,-1,1"],*/
    11         ];
    12 
    13      //应用的场景,这是第二层
    14         protected $scene=[
    15           "save"=>["name","parent_id"],
    16          
    17         ];
    18     } 

    可以写多个字段,就如同我注释的。

    然后前端页面代码:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>验证数据</title>
     6 </head>
     7 <body>
     8     <form action="{:url('index/validateF')}" method="GET">
     9         <input type="text" name="name">
    10         <input type="submit" value="提交">
    11     </form>
    12 </body>
    13 </html>

    后端控制器index下面对应的validateF

     1  public function validateF()
     2    {
     3         $data=input("get.");
     4         print_r($data);
     5         $validate=validate("Vdate"); //使用验证
     6         //scene("save")->check($data)内置方法
     7         if(!$validate->scene("save")->check($data)){
     8            $this->error($validate->getError());//内置错误返回
     9         }
    10          
    11         //剩下操作
    12         $res=model("category")->add($data);
    13         if($res){
    14           $this->success('新增成功');
    15         }else{
    16           $this->error("新增失败!");
    17         }
    18    }

    这样就可以了。很简单的实现。关于每个字段的规则,内容很多可以参考手册或者官网吧。

    本文结束。

  • 相关阅读:
    OGG_GoldenGate数据控制进程Manager(案例)
    OGG_GoldenGate安装和环境搭建(案例)
    OGG_Oracle GoldenGate简介(概念)
    DBA_Oracle Erp R12系统文件结构(概念)
    PLSQL_统计信息系列10_统计信息过旧导致程序出现性能问题
    PLSQL_统计信息系列09_统计信息在不同数据库中迁移
    Hadoop2源码分析-准备篇
    高可用Hadoop平台-答疑篇
    高可用Hadoop平台-实战尾声篇
    高可用Hadoop平台-实战
  • 原文地址:https://www.cnblogs.com/zhensg123/p/9095578.html
Copyright © 2020-2023  润新知