public function getErrors($firstname, $lastname, $email, $username, $password, $about, $locationCityShort, $locationCityLong, $locationStateShort, $locationStateLong, $locationCountryShort, $locationCountryLong, $gender, $company, $isAvailableToHiring, $isUpdate = false, $validatePassword = true) { $validator = $this->validator; $errors = array(); $firstnameValidation = $validator->validateValue($firstname, array(new Constraints\NotBlank(), new Constraints\Length(array('min' => 2, 'max' => 45)))); if ($firstnameValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Nome'; } $lastnameValidation = $validator->validateValue($lastname, array(new Constraints\NotBlank(), new Constraints\Length(array('min' => 2, 'max' => 45)))); if ($lastnameValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Sobrenome'; } $emailValidation = $validator->validateValue($email, array(new Constraints\NotBlank(), new Constraints\Email())); if ($emailValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Email'; } $usernameValidation = $validator->validateValue($username, array(new Constraints\NotBlank(), new Constraints\Length(array('min' => 4, 'max' => 45)), new Constraints\Regex(array('pattern' => '/^[a-z0-9_]+$/i')))); if ($usernameValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Usuário'; } if ($validatePassword) { $passwordValidation = $validator->validateValue($password, array(new Constraints\NotBlank(), new Constraints\Length(array('min' => 4, 'max' => 45)))); if ($passwordValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Senha'; } } $aboutValidation = $validator->validateValue($about, array(new Constraints\Length(array('max' => 140)))); if (!$aboutValidation) { $errors[] = 'Por favor, digite corretamente o campo Sobre Você'; } $locationCityShortValidation = $validator->validateValue($locationCityShort, array(new Constraints\NotBlank())); if ($locationCityShortValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Cidade (campo abreviado)'; } $locationCityLongValidation = $validator->validateValue($locationCityLong, array(new Constraints\NotBlank(), new Constraints\Length(array('min' => 2, 'max' => 45)))); if ($locationCityLongValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Cidade (campo longo)'; } $locationStateShortValidation = $validator->validateValue($locationStateShort, array(new Constraints\NotBlank())); if ($locationStateShortValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Estado (campo abreviado)'; } $locationStateLongValidation = $validator->validateValue($locationStateLong, array(new Constraints\NotBlank())); if ($locationStateLongValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Estado (campo longo)'; } $locationCountryShortValidation = $validator->validateValue($locationCountryShort, array(new Constraints\NotBlank())); if ($locationCountryShortValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo País (campo abreviado)'; } $locationCountryLongValidation = $validator->validateValue($locationCountryLong, array(new Constraints\NotBlank())); if ($locationCountryLongValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo País (campo longo)'; } $genderValidation = $validator->validateValue($gender, array(new Constraints\NotBlank(), new Constraints\Choice(array(User::GENDER_MALE, User::GENDER_FEMALE)))); if ($genderValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo Sexo'; } $companyValidation = $validator->validateValue($company, array(new Constraints\Length(array('max' => 140)))); if (!$companyValidation) { $errors[] = 'Por favor, digite corretamente o campo Empresa'; } $isAvailableToHiringValidation = $validator->validateValue($isAvailableToHiring, array(new Constraints\NotBlank(), new Constraints\Choice(array(0, 1)))); if ($isAvailableToHiringValidation->count()) { $errors[] = 'Por favor, digite corretamente o campo "Está disponível para contratação?"'; } if (!$isUpdate && $this->repository->hasGivenUsernameAndEmail($username, $email)) { $errors[] = 'O usuário ou email já existem.'; } if ($errors) { return $errors; } return false; }