title: Internet Explorer, ng-pattern and input type "number" in form validation
body: <p>In a web application that we are building, we came across some weird bug that only happens with Internet Explorer. </p>
  
  <p>The input validation as seen in this <a href="http://plnkr.co/edit/uU0xF0MIEkWCCGHUJBiU?p=preview" rel="nofollow noreferrer">plunker</a> works fine in all browsers except in IE (we have to support IE10+). We use <code>type="number"</code> in our inputs that expect numbers since it makes it so easy in most browsers to make sure that the user only enters allowed characters. We also use <code>ng-pattern="/^\d+$/"</code> to add some more validation over the type of numbers allowed, plus it is the only validation we have in IE since the input type is not supported.</p>
  
  <p>The problem is: input validation almost works as expected, except when we enter letters as the first characters of our input ("abb45" for example). It does not even think that it is an invalid input! I saw in another SO thread that putting <code>required</code> on the input would trigger the validation properly, but in our case, this particular field is not mandatory at all. Plus, even if the field is marked invalid, the validation message is not shown (I'm not sure where the validation error comes from in that case). </p>
  
  <p>Removing the <code>type="number"</code> is a workaround (it does solve the problem in IE), but we would rather try to find another solution before making this change that would break the "smoothness" of numeric inputs in other browsers.</p>
  
  <p>Note: we do not use jQuery (only jQuery lite since angular has it as a depency).</p>