承接 psecio/validation 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

psecio/validation

Composer 安装命令:

composer require psecio/validation

包简介

A simple little validation library

README 文档

README

This library seeks to be a simple and reusable validation library for input based on rules.

Example

<?php

$v = \Psecio\Validate\Validator::getInstance();

$data = [
    'foo' => 'bar'
];
$rules = [
    'foo' => 'required|alpha'
];

$result = $v->execute($rules, $data);
var_export($result);

?>

Messages

You can also define custom messages for the failures using the third $messages parameter on the execute method. The key names on the array match to the value name + check type. For example:

<?php
$v = \Psecio\Validate\Validator::getInstance();
$data = [
    'foo' => 'bar'
];
$rules = [
    'foo' => 'required|alpha'
];
$messages = [
	'foo' => ['alpha' => 'This is a custom message']
];

$result = $v->execute($rules, $data, $messages);
var_export($result);

In the example above, we define a custom message for the alpha check on the foo value. If that check were to fail, the error message output would be the new custom message instead of the default.

Getting Errors

There are two method available to get the errors when the result of the execute method is false:

  • The errors method that will return a nested key/value set of failure messages (top level is the value name with each check failure message under it)
  • The errorArray method that will return a flattended set of messages useful for output to a page without requiring too much looping

Checks

Here is a listing of the check types that Validation supports:

alpha

Checks for only alpha characters

alphanum

Checks for only alpha-numeric characters

numeric

Checks to ensure the value provided is numeric (integer, float, etc)

integer

Checks for integer-only values. Can also include minimum and maximum values:

// Minimum of 1, max of 10
$rules = ['mynumber' => 'integer[1,10]'];

boolean

Checks for boolean values (true, false, 0, 1 and strings '0', '1')

array

Checks to ensure the value provided is an array

length

Checks the value to ensure the (string) length matches requirements. You must provide a minimum value, but a maximum can also be defined

// Using just the minimum, checking for a length of at least 3
$rules = ['mystring' => 'length[3]']

// Using both minimum and maximum, check for a length between 3 and 10
$rules = ['mystring' => 'length[3,10]']

date

Checks to be sure the value given is a date (as parsed by strtotime)

before

Checks to see if the value (a parseable date) is before the date provided (as parsed by strtotime)

// Check to see if the date provided is before yesterday
$rules = [
    'myinputdate' => 'before[yesterday]'
];

after

Checks to see if the value (a parseable date) is after the date provided (as parsed by strtotime)

// Check to see if the date is in the last three days
$rules = [
    'myinputdate' => 'after[-3 days]'
];

in

Checks to ensure the value provided is in a set of values

// Check to see if the value is one of "foo", "bar" or "baz"
$rules = [
    'myvalue' => 'in[foo,bar,baz]'
]

json

Checks to be sure the value is a valid JSON formatted string (using json_decode)

required

Checks to be sure the value exists

ip

Checks to ensure the value provided is a valid IPv4 or IPv6 formatted address

email

Check to ensure the value provided is a validly formatted email address

regex

Check to ensure the value matches a certain regular expression at least once

$rules = [
    'mystring' => 'regex[/[0-9a-z]+/]'
]

equals

This check can be used to see if the values of two fields match exactly.

$data = [
    'foo' => 'test1',
    'bar' => 'test1'
];
$rules = [
    'bar' => 'equals[foo]'
];

callback

This check can be used to call custom logic via a static class method. For example, if your class is:

<?php
class Foo {
	public static function check($input) { ... }
}
?>

Then your rule would look something like this:

$rules = [
	'mystring' => 'callback[Foo::check]'
];

And the check method should return a boolean result.

统计信息

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

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固