Spawn Framework · Contact · Community · Tutorial · Documentation · Download · About

Learn :: Valid

Default functions:
maxStrLength
minStrLength
ip
url
mail
min
max
regex
Core:
Method toValid() and valid():
$valInfo = array(
    'name'=>array(
	      'maxStrLength'=>55,
	      'min'=>3
     ),
     'email'=>array(
	      'mail'=>'',
     ),
     'message'=>array(
	      'maxStrLength'=>255,
	      'minStrLength'=>25
     ),
);
$valid = new Valid($_POST, $valInfo);
echo ($valid -> validAll() -> isValid() )? 'Valid' : 'Invalid';
Or:
$valid = new Valid($_POST);
$valid -> setRules(array(
    'name'=>array(
	      'maxStrLength'=>55,
	      'min'=>3
     ),
     'email'=>array(
	      'mail'=>'',
     ),
     'message'=>array(
	      'maxStrLength'=>255,
	      'minStrLength'=>25
     ),
));
echo ($valid -> validAll() -> isValid() )? 'Valid' : 'Invalid';
Or:
$valInfo = array(
    'name'=>array(
	      'maxStrLength'=>55,
	      'min'=>3
     ),
     'email'=>array(
	      'mail'=>'',
     ),
     'message'=>array(
	      'maxStrLength'=>255,
	      'minStrLength'=>25
     ),
);

$valid = new Valid($_POST, $valInfo);
$valid -> valid('name' ,'Invalid name');
$valid -> valid('email', 'Invalid e-mail') ;
$valid -> valid('message', 'Invalid message');

if( !$valid -> isValid() ){
   foreach($valid -> getError() as $error){
       echo $error.'<br/>';
   }
}

How to create new valid functions:

To create new functions we use method setFunct and lambda function:
$valid = new Valid($_POST, array('foo' => 6));
$valid -> setFunct('foo', function($data, $data2){
    return ( ($data - $data2) > 5 )? true : false;
});

ValidAbstract

namespace Model\Valid;
class Demo extends \Spawn\Valid\ValidAbstract 
{
	protected $_validType = self::VALID_ALL; //or self::VALID_ASSOC

	protected function _init(){
            $this->setValidName('name');
            $this->setValidName('pass');
            //or
            $this->setValidNames(array('name', 'pass'));

            //or
            $this->setValid(array(
		    'name'=>array(
			  'max'=>25,
			  'min'=>3
		     ),
		     'pass'=>array(
			  'min'=>6
		     ),
		));
        }
}
if you want error messages:
namespace Model\Valid;
class Demo extends \Spawn\Valid\ValidAbstract 
{
	protected $_validType = self::VALID_ASSOC;

	protected function _init(){
            $this -> setValidNames(array('name', 'pass'));
            $this -> setAlert('name', 'Invalid name') -> setAlert('pass', 'Invalid pass'); 
        }
}
How to use valid models:
$valid = new \Model\Valid\Demo($_POST);
echo  $valid -> getValid() -> isValid() ? 'valid' : 'invalid';
var_dump($valid -> getError() );