Framework  3.9
MatchValidator Class Reference

Tests whether two fields contain the same value. More...

+ Inheritance diagram for MatchValidator:
+ Collaboration diagram for MatchValidator:

Public Member Functions

 MatchValidator ($field, $title, $confirm, $confirmTitle, $caseSensitive=true)
 
 writeClient ()
 
 validate ()
 
- Public Member Functions inherited from AbstractValidator
 AbstractValidator ($field, $title)
 

Public Attributes

 $confirm
 
 $confirmTitle
 
 $caseSensitive = true
 
- Public Attributes inherited from AbstractValidator
 $field
 
 $title
 

Detailed Description

Tests whether two fields contain the same value.

Used for password + confirmation forms, etc.

Definition at line 813 of file validation.inc.

Member Function Documentation

◆ MatchValidator()

MatchValidator::MatchValidator (   $field,
  $title,
  $confirm,
  $confirmTitle,
  $caseSensitive = true 
)

Definition at line 819 of file validation.inc.

820  {
821  $this->confirm = $confirm;
822  $this->confirmTitle = $confirmTitle;
823  $this->caseSensitive = $caseSensitive;
824 
826  }
AbstractValidator($field, $title)
Definition: validation.inc:53

◆ validate()

MatchValidator::validate ( )

Reimplemented from AbstractValidator.

Definition at line 859 of file validation.inc.

860  {
861  global $_POST;
862  $result = "";
863 
864  $value1 = $_POST[$this->field];
865  $value2 = $_POST[$this->confirm];
866 
867  if ($this->caseSensitive)
868  {
869  if ($value1 != $value2)
870  {
871  $result = "{$this->title} and {$this->confirmTitle} do not match";
872  }
873  }
874  else if (strtolower($value1) != strtolower($value2))
875  {
876  $result = "{$this->title} and {$this->confirmTitle} do not match";
877  }
878  return $result;
879  }

◆ writeClient()

MatchValidator::writeClient ( )

Reimplemented from AbstractValidator.

Definition at line 828 of file validation.inc.

829  {
830  trace("MatchValidator::writeClient", 3);
831  if ($this->readOnly) return "";
832 
833  if ($this->caseSensitive)
834  {
835 
836  $script = <<<ENDSCRIPT
837 
838  if (form["{$this->field}"].value != form["{$this->confirm}"].value)
839  {
840  alert("{$this->title} and {$this->confirmTitle} do not match.");
841  return false;
842  }
843 ENDSCRIPT;
844  }
845  else
846  {
847  $script = <<<ENDSCRIPT
848 
849  if (form["{$this->field}"].value.toLowerCase() != form["{$this->confirm}"].value.toLowerCase())
850  {
851  alert("{$this->title} and {$this->confirmTitle} do not match.");
852  return false;
853  }
854 ENDSCRIPT;
855  }
856  return $script;
857  }
trace($msg, $lvl=3, $callStack=null)
Send output to the trace log.
Definition: functions.inc:1010

Member Data Documentation

◆ $caseSensitive

MatchValidator::$caseSensitive = true

Definition at line 817 of file validation.inc.

◆ $confirm

MatchValidator::$confirm

Definition at line 815 of file validation.inc.

◆ $confirmTitle

MatchValidator::$confirmTitle

Definition at line 816 of file validation.inc.


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