All pastes #610899 Raw Edit

evilx

public php v1 · immutable
·published 2007-07-09 18:04 UTC
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' ];		}					}?>