CMS  Version 3.9
EmailListValidator Class Reference

Email recipient list validator. More...

Inherits AbstractValidator.

Public Member Functions

 EmailListValidator ($field, $title)
 
 writeClient ()
 
 validate ()
 

Public Attributes

 $empty = ""
 

Detailed Description

Email recipient list validator.

Does not validate nonempty condition - use RequiredValidator for that. Checks if each email address entered is valid.

$field = text or string field containing comma delimited list of email addresses

$title - field title to appear in message

Definition at line 62 of file email_validation.inc.

Member Function Documentation

◆ EmailListValidator()

EmailListValidator::EmailListValidator (   $field,
  $title 
)

Definition at line 66 of file email_validation.inc.

67  {
68  $this->empty = $empty;
69  $this->AbstractValidator($field, $title);
70  }

◆ validate()

EmailListValidator::validate ( )

Definition at line 77 of file email_validation.inc.

78  {
79  global $_POST;
80 
81  if (isset($_POST[$this->field]) && $_POST[$this->field] != $this->empty)
82  {
83  $emails = EmailListFieldRenderer::cleanup($_POST[$this->field]);
84  $emails = explode(",", $emails);
85 
86  if(count($emails) > 0)
87  {
88  foreach($emails as $email)
89  {
90  // ignore format specifiers
91  if (preg_match('/\\{.*?\\}/', $email)) continue;
92 
93  // ignore merge codes
94  if(preg_match('/\\[+[a-zA-Z0-9_-]+\\]/', $email))
95  continue;
96 
97  if(!preg_match('/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $email))
98  {
99  return "<warning>{$this->title} has an invalid email address '{$email}'.</warning>";
100  }
101  }
102  }
103  }
104  else
105  {
106  return "";
107  }
108  }
$_POST["owner_id"]
Definition: blog_form.inc:54
static cleanup($recipients)
Given a string of emails, clean up the list, removing any ";" or extra spaces, or trailing punctuatio...
$openData field

◆ writeClient()

EmailListValidator::writeClient ( )

Definition at line 72 of file email_validation.inc.

73  {
74  // no client-side check
75  }

Member Data Documentation

◆ $empty

EmailListValidator::$empty = ""

Definition at line 64 of file email_validation.inc.


The documentation for this class was generated from the following file: