All pastes #550626 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-08 14:06 UTC
rendered paste body
class dataValidator
{
	/*
	 * Variable: $strategy
	 * **
	 * @access	private
	 * @var		NULL
	 */
	var $strategy;
	
	/*
	 * Method: dataValidator (constructor)
	 * **
	 * Notes: instantiates selected data validation constructor.
	 * 
	 * Class inspired by devshed article "Introducing the Strategy Pattern"
	 * by Alejandro Gervasio.
	 * 
	 * **
	 * @author		Amgine
	 * @param		$strategy	string, validation strategy name.
	 * @return		Null
	 */
	function dataValidator ( $strategy )
	{
		switch ( $strategy )
		{
                        case 'alpha':
                                $this->strategy = new StrategyAlpha();
                                break;
			case 'pathfile':
				$this->strategy = new StrategyPathFile();
				break;
                        case 'USPostal':
                                $this->strategy = new StrategyUSPostal();
                                break;
			default:
				trigger_error( 'Script: Invalid parameter for validation strategy. dataValidator.class.php::dataValidator::__constructor', E_USER_WARNING);
		}
	}
	
	/*
	 * Method: validate
	 * **
	 * Notes: tests data.
	 * **
	 * @author		Amgine
	 * @param		$data
	 * @return		bool, true = valid data
	 */
	function validate ( $data )
	{
		return $this->strategy->validateData( $data );
	}
}