public function isValid($value) { if (!parent::isValid($value)) { return false; } // Not a number if (!empty($value) && !is_numeric($value)) { Session::addMessageAfterRedirect(__('This is not a number:', 'formcreator') . ' ' . $this->fields['name'], false, ERROR); return false; // Min range not set or text length longer than min length } elseif (!empty($this->fields['range_min']) && $value < $this->fields['range_min']) { $message = sprintf(__('The following number must be greater than %d:', 'formcreator'), $this->fields['range_min']); Session::addMessageAfterRedirect($message . ' ' . $this->fields['name'], false, ERROR); return false; // Max range not set or text length shorter than max length } elseif (!empty($this->fields['range_max']) && $value > $this->fields['range_max']) { $message = sprintf(__('The following number must be lower than %d:', 'formcreator'), $this->fields['range_max']); Session::addMessageAfterRedirect($message . ' ' . $this->fields['name'], false, ERROR); return false; // Specific format not set or well match } elseif (!empty($this->fields['regex']) && !preg_match($this->fields['regex'], $value)) { Session::addMessageAfterRedirect(__('Specific format does not match:', 'formcreator') . ' ' . $this->fields['name'], false, ERROR); return false; // All is OK } else { return true; } }
public function isValid($value) { if (!parent::isValid($value)) { return false; } // Specific format not set or well match if (!empty($value) && !filter_var($value, FILTER_VALIDATE_EMAIL)) { Session::addMessageAfterRedirect(__('This is not a valid e-mail:', 'formcreator') . ' ' . $this->getLabel(), false, ERROR); return false; } // All is OK return true; }
public function isValid($value) { if (!parent::isValid($value)) { return false; } // Min range not set or text length longer than min length if (!empty($this->fields['range_min']) && strlen($value) < $this->fields['range_min']) { Session::addMessageAfterRedirect(sprintf(__('The text is too short (minimum %d characters):', 'formcreator'), $this->fields['range_min']) . ' ' . $this->fields['name'], false, ERROR); return false; // Max range not set or text length shorter than max length } elseif (!empty($this->fields['range_max']) && strlen($value) > $this->fields['range_max']) { Session::addMessageAfterRedirect(sprintf(__('The text is too long (maximum %d characters):', 'formcreator'), $this->fields['range_max']) . ' ' . $this->fields['name'], false, ERROR); return false; // Specific format not set or well match } elseif (!empty($this->fields['regex']) && !preg_match($this->fields['regex'], $value)) { Session::addMessageAfterRedirect(__('Specific format does not match:', 'formcreator') . ' ' . $this->fields['name'], false, ERROR); return false; } // All is OK return true; }