Maison > Article > développement back-end > Implémentation d'un validateur personnalisé dans le framework thinkPHP5
Cet article présente principalement la méthode d'implémentation du validateur personnalisé du framework thinkPHP5 et analyse la définition et l'utilisation spécifiques du validateur personnalisé thinkPHP sous forme d'exemples. Les amis dans le besoin peuvent se référer à ce qui suit
Les exemples dans. Cet article est expliqué. Développement de la méthode d'implémentation du validateur personnalisé du framework thinkPHP5. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Le manuel du validateur ordinaire est très détaillé, expliquons comment personnaliser un validateur
Nous créons d'abord le fichier validata dans le module directory Folder
puis créez une classe à l'intérieur, nommée IdMustInt.php
Le code est le suivant : Notez que mon module s'appelle api, donc l'espace de noms est le suivant
Protéger les attributs $rule est une règle officielle et ne peut pas être modifiée. En fait, les règles de vérification requises sont des noms de fonction encapsulés, nous créons donc également une méthode, et le nom de la méthode est renseigné après la règle de vérification
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.'不是整型'; } } }.
Voyons ensuite Opérations correspondantes du contrôleur
public function getBanner($id) { //需要验证的数据 $data = [ 'id' => $id, ]; //实例化验证器 $validate = new IdMustInt(); //如果验证数据较多,条件也较多,需要批量返回所有错误信息的话,可以在check()前加上$validata->batch() $result = $validate->check($data); if($result){ //业务逻辑 }else{ dump($validate->getError()); } }
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde. apprentissage.Pour plus de contenu connexe, veuillez prêter attention à PHP Chinese net !
Recommandations associées :
Analyse des fonctions et utilisation des widgets dans le framework thinkPHP5
À propos de l'ajout et de l'affichage de données dans thinkphp Méthode de fonction framework
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!