Informationen zur Implementierungsmethode des benutzerdefinierten Validators im thinkPHP5-Framework

不言
Freigeben: 2023-04-01 14:06:02
Original
2260 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Implementierungsmethode des benutzerdefinierten ThinkPHP5-Framework-Validators vorgestellt und die spezifische Definition und Verwendung des benutzerdefinierten ThinkPHP-Validators anhand von Beispielen analysiert.

Die Beispiele in In diesem Artikel wird die Implementierungsmethode für den benutzerdefinierten Validator des thinkPHP5-Frameworks erläutert. Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:

Das normale Validator-Handbuch ist sehr detailliert. Lassen Sie uns erklären, wie Sie einen Validator anpassen.

Zuerst erstellen wir die Validata-Datei im Modul Verzeichnisordner

und erstellen Sie dann darin eine Klasse mit dem Namen IdMustInt.php

Der Code lautet wie folgt: Beachten Sie, dass mein Modul API heißt, daher lautet der Namespace wie folgt

Protect attributes $rule ist eine offizielle Regel und kann nicht geändert werden. Tatsächlich erfordern die Verifizierungsregeln gekapselte Funktionsnamen, daher erstellen wir auch eine Methode und der Methodenname wird nach der Verifizierungsregel ausgefüllt

namespace app\api\validate;
use think\Validate;
class IdMustInt extends Validate
{
  protected $rule = [
    'id' => 'require|IsInt'
  ];
  protected function IsInt($value,$rule,$data,$field){
  //参数依次为验证数据,验证规则,全部数据(数组),字段名
  //这里我们要判断的验证的数据要求必须为正整型
    if(is_numeric($value) && is_int($value+0) && ($value+0) > 0){
      return true;
    }else{
  //如果不符合我们的条件,返回错误信息,在控制器中可以用getError()方法输出
      return $field.'不是整型';
    }
  }
}
Nach dem Login kopieren

Sehen wir uns die entsprechenden Operationen unseres Controllers an

public function getBanner($id)
{
    //需要验证的数据
    $data = [
      'id' => $id,
    ];
  //实例化验证器
    $validate = new IdMustInt();
  //如果验证数据较多,条件也较多,需要批量返回所有错误信息的话,可以在check()前加上$validata->batch()
    $result = $validate->check($data);
    if($result){
      //业务逻辑
    }else{
      dump($validate->getError());
    }
}
Nach dem Login kopieren

Das Obige ist Ich hoffe, dass der gesamte Inhalt dieses Artikels für alle hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über die Methode von thinkphp zur Implementierung der Browserverlaufsfunktion

Über die Controller-Analyse von ThinkPHP

Das obige ist der detaillierte Inhalt vonInformationen zur Implementierungsmethode des benutzerdefinierten Validators im thinkPHP5-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage