one 1.4.6 新增參數驗證器

one 1.4.6 新增參數驗證器

一個極簡的高性能框架。支持在swoole協程環境和常規的apache,php-fpm下運行
github:https://github.com/lizhichao/onephp

基本使用方法

$_POST  = [
    'email' => 'xxxx',
    'age'   => 2
];
$vt     = new Validator();
$result = $vt->setAliases([
    'name'  => '用戶名',
    'email' => '郵箱',
    'age'   => '年齡'
])->validate($_POST, [
    'name'  => 'required|min_len:5,max_len:10', // 必填 5<= strlen(name) <=10
    'email' => 'required|email', // 必填 email 格式
    'age'   => 'unsigned_int|min:18|max:200'  // 選填 正整數 18<= age <=200
])->isOk();

if ($result === false) {
    print_r($vt->getErrs());
}


//Array
//(
//    [0] => 用戶名不能爲空
//    [1] => 郵箱格式不正確
//    [2] => 年齡不能小於18
//)

內置規則

  • required 必填
  • numeric 數字包括浮點數
  • min 不能小於
  • max 不能大於
  • min_len 不能短於
  • max_len 不能長於
  • unsigned_int 正整數
  • email 郵箱格式
  • ip ip格式
  • ip4 ip4格式
  • ip6 ip6格式

若是不夠? 可自定義規則

$vt->addRule('between', [
    'msg' => ':attribute只能在:arg1-:arg2之間',
    'fn'  => function ($value, $arg1, $arg2) {
        return $value >= $arg1 && $value <= $arg2;
    }
]);

$vt->validate(['a' => 10], [
    'a' => 'required|between:3,10' //必填 只能在3-10
]);
相關文章
相關標籤/搜索