Javascript 使用插件时的angular forms验证问题

Javascript 使用插件时的angular forms验证问题,javascript,angularjs,jquery-validation-engine,angular-directive,bootstrap-select,Javascript,Angularjs,Jquery Validation Engine,Angular Directive,Bootstrap Select,我有一个使用Angular构建的单页应用程序,我对表单有一些问题 表单使用复选框、下拉列表和两个文本框 第一个文本框(名称)没有验证 复选框正在使用名为“iCheck”的第三方插件 下拉菜单使用名为“引导选择”的插件 验证使用一个名为“Jquery验证引擎”的库 预期的行为是。简单地说,如果选中复选框,则需要文本框和下拉框 1) 在页面加载时,因为表单没有变脏(没有任何控件提供任何值),如果我单击“保存”按钮,它应该点击“保存”功能,因为控件上没有验证,因此屏幕上应该没有验证消息提示 2)

我有一个使用Angular构建的单页应用程序,我对表单有一些问题

表单使用复选框、下拉列表和两个文本框

第一个文本框(名称)没有验证

复选框正在使用名为“iCheck”的第三方插件

下拉菜单使用名为“引导选择”的插件

验证使用一个名为“Jquery验证引擎”的库

预期的行为是。简单地说,如果选中复选框,则需要文本框和下拉框

1) 在页面加载时,因为表单没有变脏(没有任何控件提供任何值),如果我单击“保存”按钮,它应该点击“保存”功能,因为控件上没有验证,因此屏幕上应该没有验证消息提示

2) 如果我单击该复选框。下拉列表和下面的文本框成为必填项。这意味着下拉框和文本框都有条件验证(Jquery验证引擎的特性),该验证已经设置好并正在运行。 因此,如果现在单击Save,它不应该点击Save函数并显示验证提示

3) 它应该继续限制函数访问并显示验证错误提示,除非表单控件有效,即在下拉列表中选择某些值并填充文本框

4) 如果我取消检查,第3点中描述的验证就会消失

但是发生的是:

a) 在页面加载时,如果单击“保存”按钮,则不会点击“保存”功能

b) 如果我点击复选框,它仍然不会点击保存功能,并且在下拉框和文本框上都会显示验证错误提示,这很好,这就是它应该如何操作的

c) 当填写所需的文本框时,它使表单ng有效,并点击 保存函数无论何时拖放仍处于ng无效状态

d) 即使我从下拉列表中选择了一些内容,验证提示仍会保留在下拉列表中,并且仍然会点击保存函数

e) (不太担心这个问题)最后,您想在下拉列表中设置一个自定义值,该值应作为默认值,例如“--选择一个--”,如果选择了默认值,则应将其视为未选择任何内容,并且在激活验证时应将其视为无效

所有这些代码都在dashboard.html和dashboard.js中,因为我正在使用插件,所以我需要指令来正确使用它们。复选框、选择和验证的指令位于dashboard.js中的控制器代码下

控制器代码是这样设置的

(function () {
'use strict';
var controllerId = 'dashboard';
angular.module('app').controller(controllerId, ['$scope', dashboard]);

function dashboard($scope) {

    var vm = this;
    vm.title = 'Dashboard2';
    vm.CurrCustomer = {};
    vm.CurrCustomer.Name = ""; //first text box
    vm.CurrCustomer.Logic = false;
    vm.CurrCustomer.SetThreshold = false;
    vm.CurrCustomer.Threshold;
    vm.saveChanges = function () {
        alert('function called');
        var NewCustomer = vm.CurrCustomer;
        // submit  NewCustomer to DB.
    };
    $scope.toggleSelection = function () {

        vm.CurrCustomer.SetThreshold = !vm.CurrCustomer.SetThreshold;
    };
}})();

你发现有什么东西在用吗/