title: JSR-303 Type Checking Before Binding
body: <p>model....</p>
  
  <pre><code>@Digits(integer=5, fraction=0, message="The value must be numeric and less than five digits")
  private int value;
  </code></pre>
  
  <p>beans file....</p>
  
  <pre><code>&lt;mvc:annotation-driven /&gt;
  </code></pre>
  
  <p>controller....</p>
  
  <pre><code>@RequestMapping(value = "/admin/save.htm", method = { RequestMethod.POST })
  public ModelAndView saveSection(@Valid @ModelAttribute Section section, BindingResult result) {
       if(result.hasErrors())   {
           return new ModelAndView("admin/editSection", "section", section);
       }
  </code></pre>
  
  <p>How do I restrict "value" to just numerics?  If I enter something other than a number, I get this error:</p>
  
  <blockquote>
    <p>Failed to convert property value of
    type java.lang.String to required type
    java.lang.Integer for property
    value; nested exception is
    org.springframework.core.convert.ConversionFailedException:
    Unable to convert value "A" from type
    java.lang.String to type
    java.lang.Integer; nested exception is
    java.lang.IllegalArgumentException:
    Unable to parse A</p>
  </blockquote>
  
  <p>I have seen a few posts mention initBinding but I'm not sure how to use it or if it will even help me out.  This has to have been solved before.  Is there any way to ensure that it is a number before it gets binded?</p>
  
  <p>Or, if someone could post the correct messages.properties entry to override this error, that could work for me too.</p>
  
  <p>I tried @Pattern but that doesn't work on ints</p>