moviet / panic-validator
一个简单的php验证库,用于php
v1.0.0
2018-12-14 11:19 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-26 08:33:26 UTC
README
panic-validator 采用简单、可爱且易于使用的 常见 php验证方式
没有硬编码,使用简单,无权重且非常实用
准备
快速开始
安装
composer require "moviet/panic-validator"
特性
- 简单验证
- 自定义警告
- 自定义验证
- 简单过滤
- 修改模式
- 验证密码
- 清理HTML
- ❖ 额外奖励 ❖
常见用法
简单验证
-
您可以使用快速直接解析的示例进行验证
require __DIR__ . '/vendor/autoload.php'; use Moviet\Validator\Panic; use Moviet\Validator\Ival; $panic = new Panic; $nom = 'Smile'; $getnom = $panic->case($nom) ->rule(':alpha') ->get(); // var_dump : Smile
上述代码将返回值,如果不匹配将 返回false
-
或者,您可能喜欢这样的安静方式
$data = $panic->match(':doc','mydocument.xls'); // Output : mydocument.xls
上述代码将返回值,如果不匹配将 返回false
自定义警告
-
使用自己的消息进行验证
$request = $_POST['String']; $post = $panic->case($request) ->rule(':alNumSpace') ->throw(['Do not burn your finger, invalid !!']);
-
使用限制和自定义语言进行验证
$somePost = $panic->case($_POST['String']) ->lang('En') // Optional ->min(3) ->max(100) ->rule(':alphaSpace') ->throw(['Please follow wakanda alphabets']);
-
使用空情况进行验证
$anyPost = $panic->case(/*..Empty..*/) ->rule(':alpha') ->throw(['~ Gunakan angka atau spasi']); // Output : 'Please Fill Out The Form'
注意 :
您不能验证空值,默认情况下,该字段不允许 空 块
自定义验证
-
例如,您可以验证像以下简单的HTML表单
$validUser = $panic->case($_POST['username']) ->rule(':email') ->throw(['Your username may error !!']); $validPass = $panic->case($_POST['password']) ->auth(8) ->throw(['Password minimum 8 characters']); $tokenLog = $panic->case($_POST['csrf']) ->rule(':alphaNum') ->get(); $data = [$validUser, $validPass, $tokenLog]; if ($panic->confirm($data) !== false) { // $_POST['username'] // $_POST['password'] // ... }
-
在您自己的模板中渲染 HTML表单 示例
<form method="POST" action="login.php" name="login"> <table> <tbody> <tr><td> <?php if (!$validUser) ?> <div class="title_form">Username * <label for='username' class='error'><?= $validUser; ?></label></div> <input type="text" placeholder="Enter username" name="username" class="form_login" value="" required> </td></tr> <tr><td> <?php if (!$validPass) ?> <div class="title_form">Password * <label for='password' class='error'><?= $validPass; ?></label></div> <input type="text" placeholder="Enter password" name="password" class="form_login" value="" required> </td></tr> </tbody> </table> </form>
-
如果上述内容看起来不太漂亮,您可以使用 信任 新的推荐
$product = $panic->case($_GET['product']) ->rule(':alNumSpace') ->throw(['Do not only look, Please bo bo boy !!']); $tokenId = $panic->case($_GET['token_id']) ->rule(':int') ->throw(['Your token of course, invalid !!']); $validate = [$product, $tokenId]; $entry = $panic->trust($_GET, $validate); // to retrieve data, please use array if ($entry !== false) $entry[0] // Equivalent $product $entry[1] // Equivalent $tokenId Next Next...
简单过滤
-
我们使用类似以下的本地 filter 函数
$url = 'https://github.com/moviet/panic-validator'; $data = $panic->filter(':url', $url); // Output : https://github.com/moviet/panic-validator
修改模式
-
您可以使用 修改 来修改,例如修改 您自己的规则
$myrule = $panic->case('My name is yoyo') ->min(2) ->max(20) ->modify('/^[a-zA-Z 0-9]*$/') ->throw(['What the hell something wrong ??']); // Return Boolen
-
您可能希望为非消息传递者 草稿 和 匹配
$string = 'Thanks you'; $data = $panic->draft('/^[a-zA-Z@0-9_1-`-02-^"?>/+\//./]*$/', $string); // Output : Thanks you $string = 'Thanks Match'; $data = $panic->match(':message', $string); // Output : Thanks Match
验证密码
-
我们为本地 密码散列 验证提供了简单的方法
$data = $panic->verify($_POST['password'], 'DataPassword') ->warn('Do not type password, please use Abcde !!'); if ($panic->catch($data)) { // $_POST['password'] } // Print $data => Do not type password, please use Abcde !!
清理HTML
-
您可以使用我们的“小马”来清理HTML,使其安全作为一包
$stringHtml = '<script> If this is XSS </script>'; $filterHtml = $panic->htmlSafe($stringHtml); $html = $panic->htmlRaw($filterHtml); // Output : <script> If this is XSS </script>
额外奖励
-
无论使用何种方式,自定义 干净的base64 编码可能都很有趣
$string = 'And thanos will go on'; $encode = $panic->base64($string); // Output : aOAIOAIHJSDH837287ksasjka983jsdhdsfsJHJAdsfd34dfSfb $decode = $panic->pure64($encode); // Output : And thanos will go on
模式
过滤器
许可
Moviet/panic-validator
在MIT公共许可证下发布。