/** * @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; }
/** * @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; }
/** * @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; }
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());