Skip to content
This repository has been archived by the owner on Apr 5, 2019. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Temporary semi-manual validation of signup form until SPR-9826 is fixed.
  • Loading branch information
habuma committed Sep 24, 2012
1 parent 8ab929c commit 618d511
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -16,7 +16,7 @@
<version>1.0.0.BUILD-SNAPSHOT</version>
<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.2.0.M2</org.springframework-version>
<org.springframework-version>3.1.2.RELEASE</org.springframework-version>
<org.springframework.test-mvc-version>1.0.0.M1</org.springframework.test-mvc-version>
<org.springframework.security-version>3.1.0.RELEASE</org.springframework.security-version>
<org.springframework.security.oauth-version>1.0.0.RC2</org.springframework.security.oauth-version>
Expand Down
Expand Up @@ -23,14 +23,19 @@
import javax.inject.Inject;
import javax.validation.Valid;

import org.hibernate.validator.util.LazyValidatorFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.social.connect.Connection;
import org.springframework.social.connect.web.ProviderSignInUtils;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.validation.BindException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import org.springframework.validation.beanvalidation.SpringValidatorAdapter;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
Expand Down Expand Up @@ -89,7 +94,10 @@ public void postSignup(Account account) {
}

@RequestMapping(value="/signup", method=RequestMethod.POST, consumes="application/json")
public ResponseEntity<Map<String, Object>> signupFromApi(@RequestBody @Valid SignupForm form, BindingResult formBinding) {
public ResponseEntity<Map<String, Object>> signupFromApi(@RequestBody SignupForm form) {

BindingResult formBinding = validate(form); // Temporary manual validation until SPR-9826 is fixed.

if (formBinding.hasErrors()) {
HashMap<String, Object> errorResponse = new HashMap<String, Object>();
errorResponse.put("message", "Validation error");
Expand All @@ -110,6 +118,15 @@ public ResponseEntity<Map<String, Object>> signupFromApi(@RequestBody @Valid Sig
}
}

private BindException validate(SignupForm form) {
BindException errors;
errors = new BindException(form, "signupForm");
LazyValidatorFactory lvf = new LazyValidatorFactory();
Validator validator = new SpringValidatorAdapter(lvf.getValidator());
ValidationUtils.invokeValidator(validator, form, errors);
return errors;
}

private List<Map<String, String>> getErrorsMap(BindingResult formBinding) {
List<FieldError> fieldErrors = formBinding.getFieldErrors();
List<Map<String, String>> errors = new ArrayList<Map<String,String>>(fieldErrors.size());
Expand Down

0 comments on commit 618d511

Please sign in to comment.