vbpupil/input-validation

适用于希望使用现有表单的非常简单的表单输入验证。

3.1.1 2018-04-12 16:17 UTC

This package is auto-updated.

Last update: 2024-09-06 23:52:25 UTC


README

简单的表单输入验证。用于需要快速简单验证的场景。

这个简单的类并不打算替代更高级的验证脚本,它只是在你有预存的表单,这些表单不属于任何表单解决方案时的一种替代。验证现在包括 CSRF,它通过 $_SESSION 处理。

安装

A. 在终端中输入 composer require vbpupil/input-validation

B. 安装完成后,您需要复制 config 目录并将其放置在 vendor dir 外部,例如

project
│
└───config
│   │
│   └───InputValidation
│               config.yml
│   
└───vendor
    │
    └───vbpupil

此目录包含一个 yaml 文件,允许您管理定义以及错误和成功返回的文本。

用法

像平常一样创建您的表单。

  1. 注意,textarea 的名称末尾有一个 *,这意味着它不是必填字段,因此只有在文本存在时才会进行验证。

  2. 此外,如果您需要 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>
  1. 包含此包。
use vbpupil\InputValidation;

include 'vendor/autoload.php';
  1. 设置您想检查的输入;
//indicates what inputs it should be checking
$check = array('telephone','postcode','mobile','textarea');
  1. 在 POST 操作时执行检查。
  if(isset($_POST)) {
      $r = InputValidation::validate($_POST, $check);
  
      var_dump($r);
  }