Field_File = $Field_File; $this->ReadFieldfile(); } private function ReadFieldFile() { $apph = fopen('./'.$this->Field_File,'r'); while( $data = fgets( $apph ) ) { list( $Field_Name, $Field_Type, $Err_MSG ) = split( ':',$data ); $this->Field_Arr[ strtoupper( $Field_Name )] = array( 'TYPE' => strtoupper( $Field_Type ), 'ERR_MSG' => strtoupper( $Err_MSG ) ); } } public function Validate($Field_Name, $Field_Value) { if ( empty( $this->Field_Arr ) ) $this->ReadFieldFile(); if ( !empty( $Field_Value ) ) { print '
';
print_r ( $Field_Value );
switch( $this->Field_Arr[ $Field_Name ]['TYPE'] ) {
case 'TEXT' :{
$this->Text_Validate($Field_Name, $Field_Value);
break;
}
case 'FULLDATE' :{
$this->FullDate_Validate($Field_Name, $Field_Value);
break;
}
case 'STATE' :{
$this->State_Validate($Field_Name, $Field_Value);
break;
}
case 'ZIPCODE' :{
$this->Zipcode_Validate($Field_Name, $Field_Value);
break;
}
case 'DATECMP' : {
$this->DateCmp_Validate($Field_Name, $Field_Value);
break;
}
case 'EMAIL' : {
$this->Email_Validate( $Field_Name, $Field_Value );
break;
}
case 'OPT' : {
$this->Option_Validate( $Field_Name, $Field_Value );
break;
}
case 'CHECK' : {
$this->Check_Validate( $Field_Name, $Field_Value );
break;
}
case 'PHONE' : {
$this->Phone_Validate( $Field_Name, $Field_Value );
break;
}
case 'NUMB' : {
$this->Number_Validate( $Field_Name, $Field_Value );
break;
}
}
}else { $this->Err_Msg( $Field_Name ); }
}
private function Text_Validate($Field_Name, $Field_Value) {
if ( strlen( $Field_Value ) < 1 ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE; }
}
private function FullDate_Validate($Field_Name, $Field_Value) {
if ( !preg_match( "/^([1-9]|0[1-9]|1[012])\/([1-9]|0[1-9]|[12][0-9]|3[01])\/(19|20)[0-9]{2}$/", $Field_Value ) ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE; }
}
private function State_Validate($Field_Name, $Field_Value) {
if ( strlen( $Field_Value ) != 2 ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE; }
}
private function Zipcode_Validate($Field_Name, $Field_Value) {
if ( !preg_match( "/([0-9]{5})/", $Field_Value ) ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE;}
}
private function Email_Validate($Field_Name, $Field_Value) {
if ( !preg_match( "/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]+$/", $Field_Value ) ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE; }
}
private function Phone_Validate( $Field_Name, $Field_Value ) {
if ( !preg_match( "/^\d{3}-\d{3}-\d{4}$/", $Field_Value ) ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE; }
}
private function Check_Validate( $Field_Name, $Field_Value ) {
if ( sizeof( $Field_Value ) < 2 ) {
$this->Err_Msg( $Field_Name );
}else { return TRUE; }
}
private function Option_Validate($Field_Name, $Field_Value) {
if ( $Field_Value['ANSWER'] != NULL ) {
if ( $Field_Value['ANSWER'] === 'YES' ) {
if (array_key_exists( 'TEXT', $Field_Value ) ) {
if ( $this->Text_Validate( '', $Field_Value['TEXT'] ) == FALSE ) {
$this->Err_Msg( $Field_Name.'_TEXT' );
}
}
}
}else { $this->Err_Msg( $Field_Name ); }
}
private function Number_Validate($Field_Name, $Field_Value) {
if ( !is_numeric( $Field_Value ) ) {
if ( $Field_Name != '' ) {
$this->Err_Msg( $Field_Name );
}else { return FALSE; }
} else{ return TRUE;}
}
private function DateCmp_Validate($Field_Name, $Field_Value) {
print $Field_Value['FIRST'];
}
private function Err_Msg( $Field_Name ) {
$this->Err[ $Field_Name ] = $this->Field_Arr[ $Field_Name ][ 'ERR_MSG' ];
}
}
?>