Welcome Guest, Not a member yet? Register   Sign In
CI 2.1.0 form validation external callbacks via the newly available param
#10

[eluser]skunkbad[/eluser]
I've revised the way I'm using external callbacks. I just wanted to be able to use libraries and models at the same time. See comments:

Code:
/**
* Generic callback used to call callback methods for form validation.
*
* @param  string  the value to be validated
* @param  string  a comma separated string that contains the model name,
*                 method name and any optional values to send to the method
*                 as a single parameter.
*
*                 - First value is the external class type (library or model)
*                 - Second value is the name of the class.
*                 - Third value is the name of the method.
*                 - Any additional values are values to be
*                   sent in an array to the method.
*
*      EXAMPLE RULE FOR CALLBACK IN MODEL:
*  external_callbacks[model,model_name,some_method,some_string,another_string]
*  
*      EXAMPLE RULE FOR CALLBACK IN LIBRARY:
*  external_callbacks[library,library_name,some_method,some_string,another_string]
*/
public function external_callbacks( $postdata, $param )
{
$param_values = explode( ',', $param );

// Load the model or library holding the callback
$class_type = $param_values[0];
$class_name = $param_values[1];
$this->CI->load->$class_type( $class_name );

// Apply method name to variable for easy usage
$method = $param_values[2];

// Check to see if there are any additional values to send as an array
if( count( $param_values ) > 3 )
{
  // Remove the first three elements in the param_values array
  $argument = array_slice( $param_values, 3 );
}

// Do the actual validation in the external callback
if( isset( $argument ) )
{
  $callback_result = $this->CI->$class_name->$method( $postdata, $argument );
}
else
{
  $callback_result = $this->CI->$class_name->$method( $postdata );
}

return $callback_result;
}


Messages In This Thread
CI 2.1.0 form validation external callbacks via the newly available param - by El Forum - 09-29-2012, 09:17 PM



Theme © iAndrew 2016 - Forum software by © MyBB