TP 5カスタムルール:配列とその要素を検証する
需要:配列とその配列内のすべての要素を検証この例の検証説明:需要:パラメータの内容を空にしないで、パラメータのタイプは配列で、配列の最大4つの要素のカスタマイズ規則:配列の要素は最長1つの長さで、要素の範囲は大文字A-Dコードの参照コントローラ層です:
ベリファイア・レイヤ:
共有:正規表現大全:https://www.cnblogs.com/fozero/p/7868687.htmlTP 5内蔵検証ルール:https://www.cnblogs.com/pcx105/p/7735224.htmlTP 5マニュアル——カスタム検証規則:https://www.kancloud.cn/manual/thinkphp5/129320
$validate = validate('Curriculum');
if (!$validate->scene('get_classify_course')->check($data)) {
$this->error($validate->getError());
}
ベリファイア・レイヤ:
'require|array|max:4|checkClassify: !',
];
//
protected $message = [
//
//
'course_classify'=>' !',
];
protected $scene = [
'get_classify_course' => ['course_classify'],
];
protected function checkClassify($value, $rule, $data) {
// ,
// $classify_rules = array('A', 'B', 'C', 'D');
// foreach ($value as $k => $v) {
// if (!in_array($v, $classify_rules)) {
// return $rule;
// }
// }
// return true;
// ,
foreach ($value as $k => $v) {
if (!preg_match('/^[A-D]{1}+$/', $v)) {
return $rule;
}
}
return true;
}
}
共有:正規表現大全:https://www.cnblogs.com/fozero/p/7868687.htmlTP 5内蔵検証ルール:https://www.cnblogs.com/pcx105/p/7735224.htmlTP 5マニュアル——カスタム検証規則:https://www.kancloud.cn/manual/thinkphp5/129320