PHP code example of cube-group / myaf-validator

1. Go to this page and download the library: Download cube-group/myaf-validator library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

cube-group / myaf-validator example snippets


array (size=5)
  'email' => 
    array (size=1)
      0 => string 'email是无效邮箱, 非法值abc' (length=34)
  'age' => 
    array (size=1)
      0 => string 'age只能是数字' (length=18)
  'address' => 
    array (size=1)
      0 => string 'address长度必须>=20' (length=23)
  'sex' => 
    array (size=1)
      0 => string 'sex必须在['男', '女']范围内' (length=35)
  'lang' => 
    array (size=1)
      0 => string 'lang不能在范围['php', 'go', 'java'], 非法值php' (length=54)
string 'email是无效邮箱, 非法值abc|age只能是数字|address长度必须>=20|sex必须在['男', '女']范围内|lang不能在范围['php', 'go', 'java'], 非法值php' 

array (size=3)
  'email' => 
    array (size=1)
      0 => string 'email是无效邮箱, 非法值abc' (length=34)
  'name' => 
    array (size=1)
      0 => string 'name不能为空' (length=16)
  'age' => 
    array (size=1)
      0 => string 'age只能是整数(0-9)' (length=23)

array (size=2)
  'name' => 
    array (size=1)
      0 => string '姓名不能为空!' (length=21)
  'age' => 
    array (size=1)
      0 => string '{fields}不能为空,年龄必须是数字,非法值a!' 
姓名不能为空!|{fields}不能为空,年龄必须是数字,非法值a!'

array (size=3)
  'name' => 
    array (size=1)
      0 => string '用户名不能为空' (length=21)
  'age' => 
    array (size=1)
      0 => string '年龄只能是整数(0-9)' (length=26)
  'email' => 
    array (size=1)
      0 => string '我的邮箱是无效邮箱, 非法值abc' (length=41)
string '用户名不能为空|年龄只能是整数(0-9)|我的邮箱是无效邮箱, 非法值abc' (length=90)

$data = ['name' => '','name_isset' => ''];
$val = new Validator($data);
$val->rules([
    ['ipEmpty' => false],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['json1' => 'abcdef', 'mobile2' => '{"name":"chenqionghe","age":18}'];
$val = new Validator($data);
$val->rules([
    ['json', "json1"],
    ['json', "json2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['url1' => 'abcdef', 'url2' => 'http://www.baidu.com'];
$val = new Validator($data);
$val->rules([
    ['url', "url1"],
    ['url', "url2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}


$data = ['ip1' => 'abcdef', 'ip2' => '127.0.0.1'];
$val = new Validator($data);
$val->rules([
    ['ip', "ip1"],
    ['ip', "ip2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['email1' => 'abcdef', 'email2' => '[email protected]'];
$val = new Validator($data);
$val->rules([
    ['email', "email1"],
    ['email', "email2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['number1' => '123', 'number2' => 'abcd'];
$val = new Validator($data);
$val->rules([
    ['numeric', "number1"],
    ['numeric', "number2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => '123', 'name2' => 'abcd'];
$val = new Validator($data);
$val->rules([
    ['alpha', "name1"],
    ['alpha', "name2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => '123abc___', 'name2' => '123abc'];
$val = new Validator($data);
$val->rules([
    ['alphaNum', "name1"],
    ['alphaNum', "name2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => '123abc___', 'name2' => '123abc...'];
$val = new Validator($data);
$val->rules([
    ['slug', "name1"],
    ['slug', "name2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['eq' => 'abcdef', 'mobile2' => false];
$val = new Validator($data);
$val->rules([
    ['bool', "bool1"],
    ['bool', "bool2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['date1' => '123abc___', 'date2' => '20180201', 'date3' => '20180201 12:00'];
$val = new Validator($data);
$val->rules([
    ['date', "date1"],
    ['date', "date2"],
    ['date', "date3"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['tel1' => '1234abcd', 'tel2' => '089862222222'];
$val = new Validator($data);
$val->rules([
    ['tel', "tel1"],
    ['tel', "tel2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['mobile1' => '1234abcd', 'mobile2' => '13188888888'];
$val = new Validator($data);
$val->rules([
    ['mobile', "mobile1"],
    ['mobile', "mobile2"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => 'abc', 'name2' => 'abcd'];
$val = new Validator($data);
$val->rules([
    ['same', "name1", 'name2'],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}


$data = ['name1' => 'abc', 'name2' => 'abc'];
$val = new Validator($data);
$val->rules([
    ['diff', "name1", 'name2'],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}


$data = ['age' => 18];
$val = new Validator($data);
$val->rules([
    ['compare', 'age', ">", 18],
    ['compare', 'age', ">=", 18],
    ['compare', 'age', "<", 18],
    ['compare', 'age', "<=", 18],
    ['compare', 'age', "==", 18],
    ['compare', 'age', "===", 18],
    ['compare', 'age', "!=", 18],
    ['compare', 'age', "!==", 18],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => "abcd", 'name2' => 'cqhabc'];
$val = new Validator($data);
$val->rules([
    ['contains', ['name1', 'name2'], "cqh"],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name' => "abc", 'lang' => 'abcd'];
$val = new Validator($data);
$val->rules([
    ['in', "name", ['jack', 'rose', 'james']],
    ['in', "lang", ['php', 'java', 'go']],
    ['in', "lang", ['php', 'java', 'go'],true],//第三个参数为true代表类型严格比对
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name' => "abc", 'lang' => 'php'];
$val = new Validator($data);
$val->rules([
    ['notIn', "name", ['jack', 'rose', 'james']],
    ['notIn', "lang", ['php', 'java', 'go']],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => "abc", 'name2' => 'cqhabc'];
$val = new Validator($data);
$val->rules([
    ['regex', ['name1', 'name2'], '/^cqh.*/'],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name' => "abc"];
$val = new Validator($data);
$val->rules([
    ['func', 'name', 'is_array'],
    ['func', 'name', [\Myaf\Utils\Arrays::class, 'isMultidim']],
]);
if (!$val->validate()) {
    var_dump($val->errorString());
}

$data = ['name1' => "abc"];
$val = new Validator($data);
$val->rules([
    [function ($field, $value) {
        return $value == 'helloWorld';
    }, 'name1', 'message' => '名字不是helloWorld'],

]);
if (!$val->validate()) {
    var_dump($val->errorString());
}