2016-04-25 67 views
0

角JS确实提供了一种验证数HTML5引入的输入的属性,如minrequired包括。缺少步骤在输入属性错误消息

<input type="number" name="input1" id="input1" min="0" 
     ng-model="$ctrl.input1"ng-required /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
</div> 

对于step属性这样的验证工作,但是可以显示任何错误信息在默认情况下料方式,所以有什么来实现它(最简单的方法,例如用于step="0.001"

<input type="number" name="input1" id="input1" min="0" step="0.001" 
     ng-model="$ctrl.input1"ng-required /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
    <div ng-message="step">You can work with 0.001 steps</div> 
</div> 

回答

0

操作简单,只需使用正则表达式是这样的:

<input type="number" name="input1" id="input1" min="0" step="any" 
     ng-model="$ctrl.input1"ng-required 
     ng-pattern="/^[0-9]\d*((.|,)\d{1,3})?$/" /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
    <div ng-message="pattern">You can work with 0.001 steps</div> 
</div> 

要快速eplain正则表达式:
[1-9]\d*意味着可以是任何自然数现在
((.|,)\d{1,3})?一个.,可以遵循单独的分数
\d{1,3}定义,有必须是一到三个数字必须遵循

现在你的模式将在角材料样式中显示错误消息。

根据你的步骤实际应该是什么样子,你将不得不修改\d{1,3},以反映过去的逗号数量和可能包装成模数,所以如果你想要的东西链接step="0.005"