title: How to unobtrusively add new Validation methods to Magento checkout
body: <p>I want to prevent customers entering PO Boxes into the shipping address for selected Shipping Methods (UPS specifically in this case). I could override <code>js/prototype/validation.js</code> to insert a new validation pattern, but I don't want to fork such a key file. </p>
  
  <p>Is there a mechanism to unobtrusively validate the customer's shipping address AFTER they select a shipping method via Javascript without overriding core files?  </p>
  
  <p>I see that <code>Validation.add</code> is used inside the <code>validation.js</code>, so it may be possible to add a new validation method outside of the core file?</p>
  
  <p>The regex that I want to apply is </p>
  
  <pre><code>\b([P|p](OST|ost)?\.?\s?[O|o|0](ffice|FFICE)?\.?\s)?([B|b][O|o|0][X|x])\s(\d+)
  </code></pre>
  
  <p>If the validation cannot be performed elegantly in the JS, I would be interested in an Observer on the <code>controller_action_predispatch_onepage_saveShippingMethod</code> that inspects the data and performs an Ajax redirect back to the shipping address form if necessary. </p>