vbpupil / input-validation
适用于希望使用现有表单的非常简单的表单输入验证。
3.1.1
2018-04-12 16:17 UTC
Requires
- php: >=5.6
- mustangostang/spyc: 0.6.2
- paragonie/random_compat: ^2.0
- symfony/var-dumper: ^3.4
- zendframework/zend-config: ^3.1
Requires (Dev)
- phpunit/phpunit: ^5.7
README
简单的表单输入验证。用于需要快速简单验证的场景。
这个简单的类并不打算替代更高级的验证脚本,它只是在你有预存的表单,这些表单不属于任何表单解决方案时的一种替代。验证现在包括 CSRF,它通过 $_SESSION 处理。
安装
A. 在终端中输入 composer require vbpupil/input-validation
B. 安装完成后,您需要复制 config 目录并将其放置在 vendor dir 外部,例如
project
│
└───config
│ │
│ └───InputValidation
│ config.yml
│
└───vendor
│
└───vbpupil
此目录包含一个 yaml 文件,允许您管理定义以及错误和成功返回的文本。
用法
像平常一样创建您的表单。
-
注意,textarea 的名称末尾有一个 *,这意味着它不是必填字段,因此只有在文本存在时才会进行验证。
-
此外,如果您需要 CSRF 支持,请添加以下调用。在 form-1 中的参数是表单的唯一 ID。还值得注意的是,在调用之前需要启动会话,以确保会话值持续存在。
<?php session_start(); ?> <form method="POST"> <?= InputValidation::createToken('form-1') ?> <input type="text" name="name" value="john" placeholder="NAME"><br> <input type="text" name="telephone" value="+44204444555" placeholder="TELEPHONE"><br> <input type="text" name="postcode" value="CT16 1AA" placeholder="POSTCODE"><br> <input type="text" name="mobile" value="07908765432'" placeholder="MOBILE"><br> <textarea name="textarea*">this is some test text'</textarea> <input type="submit" name="submit"> </form>
- 包含此包。
use vbpupil\InputValidation; include 'vendor/autoload.php';
- 设置您想检查的输入;
//indicates what inputs it should be checking $check = array('telephone','postcode','mobile','textarea');
- 在 POST 操作时执行检查。
if(isset($_POST)) { $r = InputValidation::validate($_POST, $check); var_dump($r); }