hublint/valfactory 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hublint/valfactory

Composer 安装命令:

composer require hublint/valfactory

包简介

Simple validation library

README 文档

README

Simple PHP vaidation library.

  • Lightweight.
  • No dependencies.
  • Suppports multiple validations on a single entity with less code.
  • Errors are stored in a single array which can be parsed as JSON or other suitable format for different use cases.

It's simple, and lets you validate inputs/data in three steps.

  1. Collect Data.
  2. Run Validations.
  3. Check for Errors.

ValFactory does NOT care how you collect your data, it only makes sure the data are what you're expecting, before you decide what to do with them.

ValFactory does NOT encrypt, authorize, or authenticate, it's a factory that only validates.

Happy Validating!

Example

<?php
/**
 * @var Composer\Autoload\ClassLoader $autoload
*/
$autoload = require 'vendor/autoload.php';


// Basic Example

$val = new \Hublint\ValFactory\Validator();

// Test Data
$num = 1233455;
$alphanum = "Hello 123";
$text = 'Hello Dolly';
$email = 'you@mail.com';
$password = 'secret';
$passwordConfirm = 'secret';

// This may be also be an array of emails from the database.
$existingEmails = ['akeemovic@slackwave.net', 'halayindex@slackwave.net'];

/**
 * Format
 * $val->validate('key1', $data1)->valMethod1();
 * $val->validate('key2', $data2)->valMethod2()->valMethod3();
*/

// Run Validations
$val->validate('alphanum', $alphanum)->notEmpty()->alphaNum()->noWhiteSpace()->limitMin(10);
$val->validate('text', $text)->notEmpty()->alpha()->noWhiteSpace()->limitMax(10);
$val->validate('number', $num)->notEmpty()->numeric()->limit(5, 10);
$val->validate('email', $email)->email()->unique($existingEmails, "We won't take that Email");
$val->validate('password', $password)->notEmpty()->noWhiteSpace();
$val->validate('password_confirmation', $passwordConfirm)->sameAs($password);

// Check for errors
if ($val->passed()) {
	echo "Hurray!";
} else {
	foreach($val->errors as $error){
		echo $error . '<br>';
	}
}

// The following produces the same results as the above
if ($val->failed()) {
	foreach($val->errors as $error){
		echo $error . '<br>';
	}
} else {
	echo "Hurray!";
}

/*
 * If validation(s) passed successsfully, $val->failed() returns FALSE, $val->errors returns [] - an empty array.
 * If validation(s) passed successsfully, $val->passed() rerurns TRUE, $val->errors returns [] - an empty array.
 *
 * But,
 *
 * If the validations failed, $val->failed() returns TRUE, $val->errors returns an array of errors.
 * If the validations failed, $val->passed() rerurns FALSE, $val->errors returns an array of errors.
*/

Available Methods

<?php
/**
 * Available Methods
 * $customErrorMessage is for setting custom errros, and is optional. 
 * So, only set it when you don't want the default errors. 
*/

// Validation not empty
notEmpty($customErrorMessage);

// Alphabets Only
alpha($customErrorMessage);

// Numeric values only
numeric($customErrorMessage);

// Alphanumeric characters only
alphaNum($customErrorMessage);

// Must not contain white space
noWhiteSpace($customErrorMessage);

// Validate email
email($customErrorMessage);

// Checks for uniqueness of data in correspondence to $haystack
unique($haystack, $customErrorMessage);

// Validate with your own RegExp pattern
matchPattern($customPattern, $customErrorMessage);

// Validate data is same as $matchingValue
sameAs($matchingValue, $customErrorMessage);

// Set minimmum and maximmum limits
limit($minCount, $maxCount, $customErrorMessage);

// Set minimmum limit
limitMin($minCount, $customErrorMessage);

// Set maximmum limit
limitMax($maxCount, $customErrorMessage);


/** 
 * NOTE: Validation methods must be chained to one validate('key', $data) root method.
 * Example;
 * $val->validate('key', $data)->limit(5, 15);
 * $val->validate('key', $data)->alpha('Characters must be only alphabets Aa-Zz')->noWhiteSpace(5, 15);
*/

installation

Minimmum requirement is PHP 5.4.x. Although, ValFactory might work on lower versions of PHP, they are currently neither tested nor recommended.

via composer.json:

{
    "require": {
        "hublint/valfactory": "*"
    }
}

and then

composer install

or

composer update -o

via command line

composer require hublint/valfactory

统计信息

  • 总下载量: 59
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-10-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固