angulaire de valider input type=“number”

J'ai majoration comme ceci:

<form name="myForm" ng-controller="myCtrl" novalidate>
    <input ng-model="theValue" type="range" min="0" max="100" required>
    <input ng-model="theValue" type="number" required></input>
    <span ng-show="theValue.$error.number">Hey! No letters, buddy!</span>
</form>

Et je veux la plage à afficher lorsque l'utilisateur accidentellement une lettre dans la seconde entrée. Simple, non? Comme une (probablement) liées problème, la valeur de la deuxième entrée disparaît lorsque l'utilisateur déplace le premier curseur de saisie. Pourquoi? Cela n'arrive pas, si je retire type-number de l'annotation.

Pour être clair: je veux que l'utilisateur de voir l'info-bulle d'erreur immédiatement lorsqu'il est tapé, sans aucun "soumettre". (Je préfère ne pas avoir à utiliser le form éléments à tous, en fait, mais toutes les démos semblent l'exiger.)

http://jsfiddle.net/7FfWT/

Aucune solution de contournement est la plupart de bienvenue. Merci de poster un travail de violon si possible.

OriginalL'auteur Ben | 2013-06-30