我正在尝试验证一些POST数据。我需要做的一个验证是注册代码,它基于另一个POST变量 - 一个IMEI号。
在我的POST数据中,我有两个字段register_imei
和register_code
。我的代码目前看起来像这样:
$post = Validate::factory($_POST);
$post->rule('register_imei', 'not_empty')
->rule('register_imei', 'exact_length', array(15))
->rule('register_imei', 'some_class::luhn_check');
$post->rule('register_code', 'not_empty')
->rule('register_code', 'some_class::valid_registration_code', array($_POST['register_imei']));
但是,我不确定从原始POST数组字段传入变量是否正常,因为它可能为空或未设置。我已经为上面的register_imei
添加了验证规则这一事实是否安全?
答案 0 :(得分:0)
我已经为上面的register_imei添加了验证规则这一事实是否安全?
在调用check()
方法之前,不会进行任何验证。
要解决您的问题,请使用:
Arr::get($_POST, 'register_imei', NULL);
如果未在数组中设置密钥,则返回第3个参数作为默认值。