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' ];
		}		
		
	}
?>