function ruleApply(\HTML_QuickForm2_Node &$el, $qf_rule, $laravel_rule, $params = null, $replaces = []) { switch (true) { case isset($this->validator_messages[$el->getNameDot() . '.' . $laravel_rule]): $message = $this->validator_messages[$el->getNameDot() . '.' . $laravel_rule]; break; case isset($this->validator_messages[$laravel_rule]): $message = $this->validator_messages[$laravel_rule]; break; default: $message = \Lang::get('validation.' . $laravel_rule); break; } $message = str_replace(':attribute', '"' . $el->getLabel() . '"', $message); $message = str_replace(array_keys($replaces), array_values($replaces), $message); $el->addRule($qf_rule, $message, $params, \HTML_QuickForm2_Rule::ONBLUR_CLIENT); }
function addValidateFunction(HTML_QuickForm2_Node $el) { foreach ((array) $this->validateFunc as $f) { switch ($f) { case 'required': $el->addRule('required'); break; case 'integer': $el->addRule('regex', ___("Integer value required"), '/^\\d+$/'); break; case 'number': $el->addRule('regex', ___("Numeric value required"), '/^\\d+(|\\.\\d+)$/'); break; case 'email': $el->addRule('callback', ___("Please enter a valid e-mail address"), array('Am_Validate', 'empty_or_email')); break; default: if (is_callable($f)) { $el->addRule('callback2', '--error--', $f); } break; } } }
/** * (( defined by alex@cgi-central.net - it is too wordy to build * rules without such easy chaining )) * Adds a validation rule to the owner of this validation rule * * @param HTML_QuickForm2_Rule|string Validation rule or rule type * @param string Message to display if validation * @param mixed Additional data for the rule * @return HTML_QuickForm2_Rule The added rule * @throws HTML_QuickForm2_InvalidArgumentException if $rule is of a * wrong type or rule name isn't registered with Factory * @throws HTML_QuickForm2_NotFoundException if class for a given rule * name cannot be found */ public function addRule($rule, $message = '', $options = null) { return $this->owner->addRule($rule, $message, $options); }