使用的版本是
"topthink/think-validate": "^2.0"
class MemberValidate extends Validate
{
protected $rule = [
'name' => 'require|length:3,25',
'password' => 'require|length:8,16',
'email' => 'require|email'
];
protected $message = [
'name.require' => '名稱不能為空',
'name.length' => '名稱長度在3-25個字符',
'password.require' => '密碼不能為空',
'password.length' => '密碼長度在8-16個字符',
'email' => '請輸入有效的郵箱地址'
];
protected $scene = [
'register' => ['name','password','email'],
'login' => ['password','email']
];
}
$validate = new MemberValidate();
//$rs = $validate->check($data); //這樣是正常的,下面加場景驗證就報錯。
$rs = $validate->scene('login')->check($data);
報錯信息如下:
filter_var(): Argument #3 ($options) must be of type array|int, null given