Napravi metodu za svaku operaciju, i onda napravi jednu "glavnu" metodu, tipa
process(), u kojoj ćeš vršiti ove provjere.
PHP kôd:
$min = function ($var, $rules)
{
preg_match('%min=([0-9]{1,10})%', $rules, $matches);
if (empty($matches[1]))
return false;
return strlen($var) < (int)$matches[1] ? $matches[1] : true;
}
;
$var = 'php';
$rules = 'req|text|min=4';
if (strpos($rules, 'min=') !== false)
{
$num = $min($var, $rules);
if (is_numeric($num))
{
echo sprintf("Should have at least %d characters!", $num);
}
elseif ($num === false)
{
echo 'Invalid rule.';
}
}
Ne zadovoljava uslov:
http://codepad.viper-7.com/GjvzpF
Pravilo ne valja:
http://codepad.viper-7.com/fLY0k6
I stavljaj ovako...
PHP kôd:
$this->errors[] = $title . " should have at least $numb characters!";
A kasnije za prikaz...
PHP kôd:
echo implode('<br>', $this->errors);
I ctor promjeni u ovo...
PHP kôd:
public function __construct()
{
foreach ($_POST as $key => $value)
{
if ( ! isset($_SESSION[$key]))
{
$_SESSION[$key] = $value;
}
}
}