2017-07-19 34 views
1

嗨,我正在开发angularjs应用程序。我有文本框,我有自定义指令附加到它。它应该接受一定范围的数字,例如100到200之间。它工作正常。除了这些验证,我还希望在提交表单时提供必要的字段验证程序。一次只能显示一个验证。以下是我的文本框。Angularjs在同一个文本框上的多个验证

<div class="inputblock" ng-class="{ 'has-error' : ((form5.$submitted && form5.rangeNumber.$invalid)|| (form5.rangeNumber.$invalid && form5.rangeNumber.$dirty))}"> 
    <label class="inputblock-label">{{'Down Payment' | translate}}</label> 
    <div> 
     <span class="ang-error" style="color:#fff" ng-show="form5.rangeNumber.$dirty && form5.rangeNumber.$invalid"> 
            <span ng-show="!(form5.$submitted && form5.rangeNumber.$error.required)&&form5.rangeNumber.$invalid && form5.rangeNumber.$dirty"> 
             {{ 'Value should be between' | translate }} {{min}} {{'and' | translate}} {{max}} 
            </span> 
     </span> 
    </div> 
    <input class="" type="text" name="rangeNumber" ng-attr-placeholder="{{ 'DownPayment' }}" ng-model="DownPayment" range-number="range" required> 
</div> 

validation error 可我知道,如果可以做到这一点?

+0

可以使用NG-使用MINLENGTH和NG-最大长度,以验证范围,而不是自定义指令 – Vivz

+0

感谢所需的错误您。我已经有了指令,它按预期工作。 –

+0

什么错误显示在一起? – Vivz

回答

1

以下是指令错误。

<span ng-show="form5.rangeNumber.$invalid && form5.rangeNumber.$dirty"> 
     {{ 'Value should be between' | translate }} {{min}} {{'and' | translate}} {{max}}</span> 
     </span> 

上提交

<span ng-show="form5.$submitted && form5.rangeNumber.$error.required"> 
      Required* 
</span> 

组合,以避免双方走到一起

<span ng-show="!(form5.$submitted && form5.rangeNumber.$error.required)&&form5.rangeNumber.$invalid && form5.rangeNumber.$dirty"> 
     {{ 'Value should be between' | translate }} {{min}} {{'and' | translate}} {{max}}</span> 
     </span> 
+0

谢谢。我现在离开了办公室。汤姆我会测试 –

+0

好吧。让我知道如果有任何问题 – Vivz

+0

是的,非常感谢很多 –