/** * @param callable|Rule $rule * @param string $message * @return $this */ public function with($rule, $message = null) { if ($rule instanceof \Rule) { /** @var Rule $rule */ $valid = $rule->setValue($this->value)->validate($this->explicit); $message = $this->localize($rule, $message); } else { $valid = $rule($this->value); } if ($this->indexpath_exists) { $valid ?: ($this->errors[] = $message); } else { if (!$this->optional) { $valid ?: ($this->errors[] = $message); } } return $this; }
/** * Gets validator rule for specified type (string). * * @param Column $column The column that is being validated. * @param string $type The type (string) for validator (e.g. 'required'). * @param mixed $value The value for the validator (if applicable) */ protected function getValidatorRule(Column $column, $type, $value = null) { $rule = new Rule(); $rule->setName($type); if ($value !== null) { $rule->setValue($value); } $rule->setMessage($this->getRuleMessage($column, $type, $value)); return $rule; }