Framework  3.9
MaximumAgeValidator Class Reference

MaximumAgeValidator can be used with DateOfBirth fields. More...

+ Inheritance diagram for MaximumAgeValidator:
+ Collaboration diagram for MaximumAgeValidator:

Public Member Functions

 MaximumAgeValidator ($field, $title, $max, $message=null)
 
 validate ()
 
- Public Member Functions inherited from AbstractValidator
 AbstractValidator ($field, $title)
 
 writeClient ()
 

Public Attributes

 $max = 0
 
 $message
 
- Public Attributes inherited from AbstractValidator
 $field
 
 $title
 

Detailed Description

MaximumAgeValidator can be used with DateOfBirth fields.

Author
jacob

Definition at line 436 of file validation.inc.

Member Function Documentation

◆ MaximumAgeValidator()

MaximumAgeValidator::MaximumAgeValidator (   $field,
  $title,
  $max,
  $message = null 
)

Definition at line 441 of file validation.inc.

442  {
444  $this->max = $max;
445  $this->message = $message;
446 
447  }
AbstractValidator($field, $title)
Definition: validation.inc:53

◆ validate()

MaximumAgeValidator::validate ( )

Reimplemented from AbstractValidator.

Definition at line 449 of file validation.inc.

450  {
451  $mm = checkNumeric($_POST["{$this->field}_mm"]);
452  $dd = checkNumeric($_POST["{$this->field}_dd"]);
453  $yy = checkNumeric($_POST["{$this->field}_yy"]);
454 
455  if (!$mm && !$dd && !$yy)
456  {
457  return "";
458  }
459 
460  if (!$mm || !$dd || !$yy)
461  {
462  return "Incomplete date of birth - $mm/$dd/$yy";
463  }
464 
465  $dob = new DateTime("$mm/$dd/$yy");
466  $today = new DateTime();
467 
468  $age = $dob->diff($today);
469  if ($age->y > $this->max)
470  {
471  return $this->message;
472  }
473 
474  return "";
475  }
checkNumeric($p)
Security helper function.
Definition: functions.inc:630

Member Data Documentation

◆ $max

MaximumAgeValidator::$max = 0

Definition at line 438 of file validation.inc.

◆ $message

MaximumAgeValidator::$message

Definition at line 439 of file validation.inc.


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