Example #1
0
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     if (!is_numeric($this->getValue($field))) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $validation->appendMessage(new Message($field, $message, $this->getOptions() + ['field' => $field]));
         return false;
     }
     return true;
 }
Example #2
0
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     if (!$this->getDataCollection()->has($field)) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $validation->appendMessage(new Message($field, $message, $this->getOptions() + ['field' => $field]));
         return false;
     }
     return true;
 }
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     $value = $this->getValue($field);
     if (!ctype_xdigit($value)) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $validation->appendMessage(new Message($field, $message, $this->getOptions() + ['field' => $field]));
         return false;
     }
     return true;
 }
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     $value = $this->getValue($field);
     $accepted = $this->getOption('accepted', null);
     if ($value !== $accepted) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $replacements = $this->getOptions() + ['field' => $field, 'accepted' => $accepted];
         $validation->appendMessage(new Message($field, $message, $replacements));
         return false;
     }
     return true;
 }
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     $value = $this->getValue($field);
     $min = $this->getOption('min', 1);
     $max = $this->getOption('max', PHP_INT_MAX - 1);
     if (mb_strlen($value) > $max || mb_strlen($value) < $min) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $validation->appendMessage(new Message($field, $message, $this->getOptions() + ['field' => $field]));
         return false;
     }
     return true;
 }
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     $value = $this->getValue($field);
     $comparableField = $this->getOption('comparable', null);
     $comparable = $this->getDataCollection()->get($comparableField, null);
     if (null === $comparable || $value !== $comparable) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $replacements = ['field' => $field, 'comparable' => $comparableField];
         $validation->appendMessage(new Message($field, $message, $replacements));
         return false;
     }
     return true;
 }
Example #7
0
 /**
  * @param null $field
  * @param Validation $validation
  * @return bool
  */
 public function validate($field = null, Validation $validation)
 {
     $set = $this->getOption('set', []);
     $set = is_array($set) ? $set : [$set];
     $value = $this->getValue($field);
     if (!in_array($value, $set)) {
         $message = $this->getOption('message', $this->getDefaultMessage());
         $replacements = ['field' => $field, 'set' => implode(', ', $set)];
         $validation->appendMessage(new Message($field, $message, $replacements));
         return false;
     }
     return true;
 }
Example #8
0
use Dez\Validation\Rule;
use Dez\Validation\Rules\Callback;
use Dez\Validation\Rules\Email;
use Dez\Validation\Rules\Hexadecimal;
use Dez\Validation\Rules\Identical;
use Dez\Validation\Rules\InSet;
use Dez\Validation\Rules\IP;
use Dez\Validation\Rules\Similarity;
use Dez\Validation\Rules\StringLength;
use Dez\Validation\Rules\Url;
use Dez\Validation\Validation;
error_reporting(1);
ini_set('display_errors', 1);
include_once '../vendor/autoload.php';
$validation = new Validation($_GET);
$rule = $validation->required('name')->add(new StringLength(['min' => 3, 'max' => 64]));
$validation->add('test_field123', new Callback(function ($value, Rule $rule, Validation $validation) {
    return !$value;
}));
$validation->email('email');
$validation->password('passwd', 'repeat_passwd');
$betweenRule = new StringLength(['message' => 'between :min and :max @ :field', 'min' => 16, 'max' => 64]);
$rule->add($betweenRule);
$validation->cloneTo('name', 'name_hash');
$email = $validation->required('email', 'NOOOO!!!1 :field required!!!!');
$email->add(new InSet(['set' => 'asd']));
$email->add(new Similarity(['comparable' => 'repeat_email']));
$email->add(new Email());
$email->add(new Url());
$email->add(new IP());