提交表格|确认保存更改验证

时间:2015-03-11 20:34:48

标签: angularjs angularjs-ng-click

我有一个表单,用户会看到一个" Save Changes"按钮首先,如果用户单击此按钮并且没有验证问题,将向用户显示"确认更改"按钮。

我的代码实现了这个目标:

<div class="col-xs-12">
                        <span ng-hide="confirm">
                            <button type="button" class="vfnz-submit" ng-click="confirm = ! confirm;">Save changes</button>
                            <a ng-href="#/huntgroups/" class="vfnz-reset">Cancel</a>
                        </span>
                        <div class="hide" ng-class="{ 'hide': ! confirm }">
                            <button type="submit" class="vfnz-submit confirm-changes">Confirm changes</button>
                            <a class="vfnz-reset" ng-click="confirm = ! confirm;">Cancel</a>
                        </div>
                    </div>

这很好用但是,如果表单中有任何错误,我希望错误显示在&#34;保存更改&#34;。我必须确保提交验证显示的逻辑是这样的:

$scope.submitForm = function(form, isValid){
                if (!isValid){
                  $scope.submitted = true;
                } else {
                  $scope.submitted = false;
                }
    }

我不确定要改变什么或如何实现我之后的改变。

重申:

在保存更改时,显示错误消息(如果有)。如果有错误消息,请勿显示确认更改。如果没有错误消息,请显示确认更改,然后提交。

1 个答案:

答案 0 :(得分:1)

你想要这样的东西......调整它...... 我有一个更好的例子,但它在我的工作笔记本电脑上...可以明天给你:) jsfiddle

    <form name="form" no-validate ng-app>
<div class="control-group" ng-class="{true: 'error'}[submitted && form.email.$invalid]">
        <label class="control-label" for="email">Your email address</label>
        <div class="controls">
            <input type="email" name="email" ng-model="email" required />
            <span class="help-inline" ng-show="submitted && form.email.$error.required">Required</span>
            <span class="help-inline" ng-show="submitted && form.email.$error.email">Invalid email</span>
        </div>
    </div>

    <button type="submit" class="btn btn-primary btn-large" ng-click="submitted=true">Submit</button>
</form>