【发布时间】:2015-06-17 17:39:37
【问题描述】:
我有一个简单的表单,其中包含一个必需的文本框和一个保存按钮。
<form role="form" name="frmVariableConfig" novalidate ng-submit="frmVariableConfig.$valid && vm.saveChanges()">
<input type="text" ng-model="vm.CurrCustomer.Name" name="txtCustomerName" class="form-control input-sm validate[required]" placeholder="txtCustomerName" check-validation>
<button type="submit" class="btn btn-sm text-right">Save</button>
</form>
我正在使用这个指令来激活 Jquery 验证引擎
angular.module('app').directive('checkValidation', [
function () {
return {
restrict: 'A',
require: '?ngModel',
link: function (scope, element, attrs, ngModel) {
element.closest('form').validationEngine(
{
promptPosition: 'centerRight',
scroll: true, prettySelect: true,
autoPositionUpdate: true,
//validateNonVisibleFields: true,
//autoHidePrompt: true,
autoHideDelay: 1000,
fadeDuration: 0.9
}
);
}
};
}]);
但即使文本框为空,它也会继续调用 saveChanges()。如果文本框为空,则不应调用此函数。
请帮忙。
【问题讨论】:
-
你考虑过使用Angular Validation吗?
-
放弃了,现在使用角度验证 :) 我的下拉菜单是一个引导选择,其中包含一些需要验证的隐藏内容。所以现在行为很好,但我得到一个 name=xxx 的无效表单控件不可聚焦。”保存时出错。
-
实际上与这个问题无关。但其余的东西都在工作。除了这个。
标签: javascript jquery angularjs angularjs-directive jquery-validation-engine