>  기사  >  PHP 프레임워크  >  Thinkphp5가 검증을 사용하여 검증 기능을 구현하는 방법

Thinkphp5가 검증을 사용하여 검증 기능을 구현하는 방법

藏色散人
藏色散人앞으로
2020-12-14 11:59:333061검색

다음 thinkphp 프레임워크 튜토리얼 칼럼에서는 Thinkphp5가 유효성 검사 기능을 구현하는 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

프론트엔드로서 검증에 대한 개인적인 경험이 있지만 점차 익숙해지긴 했지만 아직 사용할 수 있는 내장 기능은 없습니다. tp5는 정확히 하나만 제공합니다. 본 글에서는 다음 사항을 간략하게 소개하고 구현합니다. 가장 중요한 것은 그것을 구현하는 것입니다.

검증 구현은 tp5에 내장된 객체 검증을 기반으로 합니다.

인덱스 모듈화 아래 인덱스 컨트롤러와 동일한 수준의 디렉터리에 Vdate.php 확인 파일이 포함된 유효성 검사 파일을 만듭니다. 이 파일은 네임스페이스가 올바른 경우 공통 디렉터리 아래에 배치할 수도 있습니다. 코드는 다음과 같습니다

<?php
    namespace app\index\validate;
    use think\Validate;
    class  Vdate extends Validate{
      //每个字段对应一个规则,这是第一层
        protected $rule=[
          ["name","require|max:10","不能为空|分类名不能超过10个字符"],
          ["parent_id","number","必须为数字"],
        /*  ["id","number","必须是数字"],
          ["status","number|in:1,0,-1","必须是数字|必须是是0,-1,1"],*/
        ];

     //应用的场景,这是第二层
        protected $scene=[
          "save"=>["name","parent_id"],

        ];
    }

댓글처럼 여러 필드를 작성할 수 있습니다.

그런 다음 프런트 엔드 페이지 코드:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>验证数据</title>
</head>
<body>
    <form action="{:url(&#39;index/validateF&#39;)}" method="GET">
        <input type="text" name="name">
        <input type="submit" value="提交">
    </form>
</body>
</html>

백엔드 컨트롤러 인덱스 아래에 해당하는 verifyF

public function validateF()
   {
        $data=input("get.");
        print_r($data);
        $validate=validate("Vdate"); //使用验证
        //scene("save")->check($data)内置方法
        if(!$validate->scene("save")->check($data)){
           $this->error($validate->getError());//内置错误返回
        }

        //剩下操作
        $res=model("category")->add($data);
        if($res){
          $this->success(&#39;新增成功&#39;);
        }else{
          $this->error("新增失败!");
        }
   }

그게 다입니다. 구현이 매우 간단합니다. 각 분야의 규칙에 대해서는 매뉴얼이나 공식 홈페이지를 참고하시면 많은 내용을 보실 수 있습니다.

이 글은 끝났습니다.

위 내용은 Thinkphp5가 검증을 사용하여 검증 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제