/**
  * Validates the given data and returns a mapped version back to the caller.
  *
  * @param array $data
  * @return array
  * @throws ValidationException
  */
 public static function validate($data)
 {
     // allow either email or Email
     if (isset($data['email'])) {
         $data['Email'] = $data['email'];
     }
     if (isset($data['password'])) {
         $data['Password'] = $data['password'];
     }
     if (!empty($data['Token'])) {
         return ['Token' => RestValidatorHelper::validate_string($data, 'Token'), 'AuthService' => RestValidatorHelper::validate_string($data, 'AuthService'), 'UserID' => RestValidatorHelper::validate_string($data, 'UserID')];
     } else {
         return ['Email' => RestValidatorHelper::validate_email($data, 'Email'), 'Password' => RestValidatorHelper::validate_string($data, 'Password', ['min' => 3])];
     }
 }
 public function testValidateString()
 {
     $this->assertEquals('foo bar', RestValidatorHelper::validate_string(['str' => 'foo bar'], 'str'));
     $this->assertEquals(null, RestValidatorHelper::validate_string([], 'str', ['required' => false]));
     TestHelper::assertException(function () {
         RestValidatorHelper::validate_string([], 'str');
     }, 'ValidationException');
     TestHelper::assertException(function () {
         RestValidatorHelper::validate_string(['str' => 15], 'str');
     }, 'ValidationException');
     TestHelper::assertException(function () {
         RestValidatorHelper::validate_string(['str' => 'foo bar'], 'str', ['max' => 4]);
     }, 'ValidationException');
     $this->assertEquals('foo', RestValidatorHelper::validate_string(['str' => 'foo'], 'str'), ['max' => 4]);
     TestHelper::assertException(function () {
         RestValidatorHelper::validate_string(['str' => 'fo'], 'str', ['min' => 3, 'max' => 4]);
     }, 'ValidationException');
     $this->assertEquals('foo', RestValidatorHelper::validate_string(['str' => 'foo'], 'str', ['min' => 2, 'max' => 4]));
 }
コード例 #3
0
 public static function validate($data)
 {
     $mail = RestValidatorHelper::validate_email($data, 'email');
     $password = RestValidatorHelper::validate_string($data, 'password', ['min' => self::MinPasswordLength]);
     return ['Email' => $mail, 'Password' => $password];
 }