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;
 }