/** * register a validator * * @param string $id the id of the validator * @param string $field the field to be validated * @param string $criteria the name of the criteria function * @param string $empty allow field to be empty (optional) * @param string $halt stop validation if this one fails (optional) * @param string $transform transform function(s) to apply (optional) * @param string $form name of the form (optional) */ function register_validator($id, $field, $criteria, $empty = false, $halt = false, $transform = null, $form = SMARTY_VALIDATE_DEFAULT_FORM) { if(!SmartyValidate::is_registered_form($form)) { trigger_error("SmartyValidate: [register_validator] form '$form' is not registered."); return false; } SmartyValidate::unregister_validator($id,$form); $_field = explode(':', $field); $_validator = array(); foreach($_field as $_key => $_val) { if($_key == 0) $_validator['field'] = $_val; else { $_field_name = 'field'; $_field_name .= $_key + 1; $_validator[$_field_name] = $_val; } } $_validator['id'] = $id; $_validator['criteria'] = $criteria; $_validator['message'] = ''; $_validator['trim'] = false; $_validator['empty'] = $empty; $_validator['halt'] = $halt; $_validator['transform'] = $transform; $_SESSION['SmartyValidate'][$form]['validators'][] = $_validator; }