如何实现多个按钮的角度验证

时间:2014-06-30 01:45:48

标签: javascript angularjs validation angularjs-directive

请检查我对plunker http://plnkr.co/edit/Jb43KPTXwF6zISS8PkaF?p=preview

的工作

这里我有两个按钮保存和修改。当我使用save(类型提交)按钮时,表单在调用函数之前进行验证。现在我想为modify(类型按钮)按钮实现相同的验证。因此,当我点击它时,表单应该在调用修改函数之前进行验证。

或者,如果您还有其他解决方案,我会将其用于实施,但请记住我需要在同一表单上使用多个按钮进行验证

提前致谢...

1 个答案:

答案 0 :(得分:0)

您可以将scope.Modify()移动到指令中。无论如何,我认为这种方式更具语义性。然后只返回false,这样表单实际上不会提交并运行你想要的任何提交逻辑。

Plunker

                    scope.submit = function (event) {
                      submitController.setAttempted();
                      if (!scope.$$phase) scope.$apply();

                      if (!formController.$valid) return false;

                      scope.$apply(function() {
                          fn(scope, {$event:event});
                      });
                    }

                    formElement.bind('submit', scope.submit);

                    scope.Modify = function () {
                        // process scope.session
                        scope.submit();

                        alert('Modified!');

                        return false;
                    };