Angularjs中两个按钮的不同验证?

时间:2017-05-31 08:58:26

标签: javascript angularjs

您好我有两种带有html控件的表单。以下是我的表格。

<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>

每当我点击NEXT时,我的验证都可以正常工作。但是,当我点击BACK按钮时,我不想激活任何验证,我滚动到以前的形式。这不会发生。点击BACK后我的验证也开始了。有什么方法可以禁用它吗?任何帮助,将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

BACK输入中的type =“submit”使表单自动验证。尝试使用type =“button”代替:

<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>

答案 2 :(得分:0)

在特定按钮上跳过验证的最简单方法是向其添加formnovalidate属性:

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