将其他POST变量传递到Kohana 3中的验证规则的最佳方法是什么?

时间:2010-08-24 22:52:38

标签: validation kohana kohana-3

我正在尝试验证一些POST数据。我需要做的一个验证是注册代码,它基于另一个POST变量 - 一个IMEI号。

在我的POST数据中,我有两个字段register_imeiregister_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添加了验证规则这一事实是否安全?

1 个答案:

答案 0 :(得分:0)

  

我已经为上面的register_imei添加了验证规则这一事实是否安全?

在调用check()方法之前,不会进行任何验证。

要解决您的问题,请使用:

Arr::get($_POST, 'register_imei', NULL);

如果未在数组中设置密钥,则返回第3个参数作为默认值。