2017-05-31 35 views
0

嗨我有两种形式的html控件。以下是我的表格。Angularjs中两个按钮的不同验证?

<form name="form3" novalidate> 
      <fieldset ng-disabled="employementdetails"> 
      <div class="inputblock" ng-class="{ 'has-error' : ((form3.$submitted && form3.Employer.$invalid) || (form3.Employer.$invalid && form3.Employer.$dirty))}"> 
         <div> 
          <span class="ang-error" style="color:#fff" ng-show="form3.Employer.$invalid && form3.Employer.$error.required && form3.Employer.$dirty">*Required</span> 
         </div> 
         <select ng-model="user.Employer" name="Employer" id="Employer" ng-options="user.ID as user.Employer for user in EmployerList" required> 
          <option value="" label="Employer">Employer</option> 
         </select> 
        </div> 
      //some other controls 
      <div class="button-container"> 
         <input type="submit" value="{{ 'BACK' | translate }}" class="brown-button" ng-click="gotopersonaladdress()"> 
         <input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" ng-click="saveemployementdetails()"> 
      </div> 
      </fieldset> 
</form> 

每当我点击下一步,我的验证工作正常,根据需要。但是当我点击后退按钮时,我不想触发任何验证,并且我正在滚动到以前的窗体。这没有发生。点击后退,我的验证也开始了。有什么办法可以禁用它吗?任何帮助,将不胜感激。谢谢。

+0

尝试类型=“按钮”退回。 ...不知道只是一个尾随.....你可以尝试“formnovalidate”属性,如

+0

为什么你有两个提交你的表格?我相信你不需要回去。尝试从中删除type =“submit” – Dino

回答

4

当您使用type="submit"按钮时,表示表单已准备好发送,因此应该应用所有验证。 使用简单的type="button"作为后退按钮。

1

BACK输入中的type =“submit”使表单自动验证。尝试使用类型=“按钮”,而不是:

<div class="button-container"> 
    <input type="button" value="{{ 'BACK' | translate }}" class="brown-button" ng-click="gotopersonaladdress()"> 
    <input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" ng-click="saveemployementdetails()"> 
</div> 
0

跳过对特定按钮验证的最简单方法是formnovalidate属性添加到它:

<input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" 
formnovalidate ng-click="saveemployementdetails()">