PHP 语言的参数验证器和挂载器。
//file:compose.json
{
"require": {
"liyuze/parameter-validator": "dev-master"
}
}
compose update
或
compose require liyuze/parameter-validator dev-master
-
单一指定
function func ($name, $age) { $Parameters = new liyuze\validator\Parameters\Parameters([ 'name' => $name, 'age'> $age, ]); }
-
数组指定
$Parameters = new liyuze\validator\Parameters\Parameters($_POST);
-
设置验证规则
$Parameters->setRule([ 'name' => 'required|string|maxLength=15|minLength=5', 'age' => 'integer|max=120|min=1' ]);
-
参数和验证规则一同设置
$name = $_POST['name']; $age = $_POST['age']; $Parameters = new liyuze\validator\Parameters\Parameters(); $Parameters->config([ 'name' => [$name, ['required', 'string', 'maxLength' => 15, 'minLength' => 5]], 'age' => [$age, ['integer', 'max' => 120, 'min' => 1]] ]);
if ($Parameters->validate()) {
//所有验证消息
$Parameters->getErrors();
}
/**
* 由年龄获取生肖、出生年份
*/
class AgeMounter extends liyuze\validator\Mounter\Mounter {
public function registerKeys()
{
//挂载值的变量名
return ['year', 'zodiac']
}
public function run()
{
//参数值
$value = $this->getParameter()->getValue();
//计算值
$year = 2018;
$zodiac = 'dog';
//挂载值
return [
'year' => $year,
'zodiac' => $zodiac
]
}
}
$Parameters->addMounter('age', 'mounter\AgeMounter')
//获取出生年份
$year = $Parameters->getMounteValue('age', 'year');
//获取属相
$zodiac = $Parameters->getParam('age')->getMounteValue('zodiac');