Advertisement
fruffl

validate

Nov 23rd, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.63 KB | None | 0 0
  1.  
  2.         protected function tStructure_internal_isAcceptable($__fieldName, $__value)
  3.         {
  4.             $typePassed = $this->tStructure_internal_handleValueType($__fieldName, $__value);
  5.            
  6.             if(FALSE === $typePassed)
  7.                 throw new ValueExpectedException([
  8.                     'class'     => get_called_class(),
  9.                     'name'      => $__fieldName,
  10.                     'expected'  => implode(', ', $this->__tStructure_MemberProperties[$__fieldName][Prop::TYPE]),
  11.                     'typeof'    => ValueExpectedException::getType($__value)
  12.                 ]);
  13.                
  14.             // blacklisting overwrites whitelisting
  15.             $blackPassed = $this->tStructure_internal_handleBlacklist($__fieldName, $__value);
  16.             $whitePassed = $this->tStructure_internal_handleWhitelist($__fieldName, $__value);
  17.            
  18.             // whitelisting overwrites blacklisting
  19.             if(TRUE === ((Flag::EXPECT_WHITELIST & $this->__tStructure_MemberProperties[$__fieldName][Prop::FLAG]) === Flag::EXPECT_WHITELIST))
  20.                 if(FALSE === $blackPassed && TRUE === $whitePassed)
  21.                     $blackPassed = TRUE;
  22.            
  23.             if(FALSE === $blackPassed)
  24.                 throw new ValueComparisonBlacklistException([
  25.                     'class'     => get_called_class(),
  26.                     'name'      => $__fieldName
  27.                 ]);
  28.            
  29.             if(FALSE === $whitePassed)
  30.                 throw new ValueComparisonWhitelistException([
  31.                     'class'     => get_called_class(),
  32.                     'name'      => $__fieldName
  33.                 ]);
  34.            
  35.             // additional compare-function
  36.             try
  37.             {
  38.                 $this->tStructure_internal_handleComperation($__fieldName, $__value);
  39.             }
  40.             catch(\Exception $E)
  41.             {
  42.                 throw new ValueComparisonException([
  43.                     'class'     => get_called_class(),
  44.                     'name'      => $__fieldName
  45.                 ], $E);
  46.             }
  47.                        
  48.             return $typePassed && $whitePassed && $blackPassed;
  49.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement