title: Spring - adding BindingResult to newly created model attribute
body: <p>My task is - to create a model attribute by given request parameters, to validate it (in same method) and to give it whole to the View.</p>
  
  <p>I was given this example code:</p>
  
  <pre><code>@Controller
  class PromotionController {
  
      @RequestMapping("promo")
      public String showPromotion(@RequestParam String someRequestParam, Model model) {
          //Create the model attribute by request parameters
          Promotion promotion = Promotions.get(someRequestParam); 
  
          //Add the attribute to the model
          model.addAttribute("promotion", promotion); 
  
          if (!promotion.validate()) {
              BindingResult errors = new BeanPropertyBindingResult(promotion, "promotion");
              errors.reject("promotion.invalid");
              //TODO: This is the part I don't like
              model.put(BindingResult.MODEL_KEY_PREFIX + "promotion", errors);
          }
          return 
      }
  }
  </code></pre>
  
  <p>This thing sure works, but that part with creating key with MODEL_KEY_PREFIX and attribute name looks very hackish and not a Spring style to me. Is there a way to make the same thing prettier?</p>