TP5驗證

在TP5中定義$rule(驗證規則)有兩種方式

方式一:
$rule = [
    // 不可以在此處定義空的驗證 如 'name' => '',會導致出現result未定義錯誤
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
];
方式二:
$rule = [
    'name'  => ['require','max'=>25],
    'age'   => ['number','between'=>'1,120'],
];

如果方式一自定義驗證規則的話,就可以這樣寫

$rule = [
    'name'  => 'require|max:25|checkName:',
    'age'   => 'number|between:1,120',
];
protected function checkNmae($value)
{
    $value 是name值,可以在此處進行驗證,如正則驗證
}

如果是方式二的話,寫法如下

$rule = [
    'name'  => ['require','max'=>25,'checkName'=>'$rule參數'],
    'age'   => ['number','between'=>'1,120'],
    'email' => ['require', 'checkUserEmail'=>'qq.com'],
];
protected function checkName($value, $rule)
{
    $vaule 是name值,$rule爲上面的$rule參數
}
protected function checkUserEmail($value,$rule)
{
    $res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/', $value);
    if (!$res) {
        return '郵箱只能是'.$rule.'域名';
    } else {
        return true;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章