rendered paste body<?php class Form_Validate { var $Field_Arr = ''; var $Field_File; var $Err; public function init( $Field_File) { $this->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 '<pre>'; 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' ]; } }?>