public static function validateRule(Rule $rule)
{
$args = is_array($rule->arg) ? $rule->arg : [$rule->arg];
foreach ($args as &$val) {
$val = $val instanceof IControl ? $val->getValue() : $val;
}
return $rule->isNegative xor call_user_func(self::getCallback($rule), $rule->control, is_array($rule->arg) ? $args : $args[0]);
}