I’m trying to validate some POST data. One of the validations I need to do is a registration code, which is based off another POST variable – an IMEI number.
In my POST data I have 2 fields, register_imei and register_code. My code currently looks like this:
$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']));
However, I’m not sure whether passing in the variable from the raw POST array field is ok, because it could be empty or not set. Does the fact that I’ve already added validation rules for register_imei above make it safe?
No validation is taken place until you call the
check()method.To solve your problem, use:
which returns the 3rd argument as a default if the key is not set in the array.