1
<input type="number" 
          name="content" 
          md-auto-focus 


          ng-model="vm.model.content" 
          ng-required="{{vm.required === null ? true : vm.required}}" 
          ng-attr-ng-max="{{vm.max}}" 
          ng-attr-ng-min="{{vm.min}}"> <div ng-message-exp="['required','min']" ng-if="vm.min != null"> 
          <span data-translate 
            translate-value-length="{{vm.min}}">min</span> 
          </div> 
          <div ng-message="required" ng-if="vm.min == null"> 
           <span data-translate>required</span> 
          </div> 
          <div ng-message="number"> 
           <span data-translate>numberOnly</span> 
          </div> 
          <div ng-message="max"> 
          <span data-translate 
            translate-value-length="{{vm.max}}">max</span> 
          </div> 

        </div> 

c'est la version courte de mon code.Angularjs permettre un nombre décimal avec après

comme vous pouvez le voir ici,

https://regex101.com/r/fvPBTW/1 i utiliser les mêmes expressions régulières.

Il accepte 44,44, 44,

mais pas 44., 44.444,44.44.44, 44,44.

Je pense en raison de la fonctionnalité de nombre.

Mais je veux être seulement entré le nombre et un décimal avec le nombre après lui.

Que puis-je faire?

Répondre

1

Essayez ceci:

<input type="number" name="content" md-auto-focus ng-pattern=/^[0-9]+(\.[0-9]{1})?$/> 

Cela n'acceptera que 4, 44, 4.1, 4.2 , 444,2

Mais pas 4., 4,23, 4,444 , 444,23 ,

+0

Non, il ne l'a pas fait. Parce que 4., 4.23, 4.444, 444.23, sont acceptés par 'type = number' Vous avez seulement enlevé 1,2 et il l'a fait accepter seulement un chiffre après le point décimal. Cela n'a rien changé. – vegan

+0

Oui, mais vous avez une validation via ng-pattern =/^ [0-9] + (\. [0-9] {1})? $/Alors cela n'a pas d'importance, dans votre cas, il pourrait s'agir de la validation par défaut par HTML5, s'il vous plaît vérifier cela. –

+0

comment puis-je faire – vegan