在AngularJS中验证指令中的复杂模型

时间:2015-06-05 22:15:58

标签: angularjs

如果我有一个绑定到控件的简单属性,我可以使用内置指令(必需等)或使用ngModel。$ validators轻松验证它。

但是我有一个代表复杂属性编辑器的指令。我可以在该编辑器中验证状态,但是如何将其与Angular集成以便更新表单的状态?

我有一个代表模型的模型类,我正在调用这样的指令:

<editor model="model"></editor>

在我的控制器中使用此代码(appModel已声明为服务,因为它是单例):

$scope.model = appModel;

我正在考虑从我的指令中访问表单,利用范围继承,例如:

$scope.myform.$setValidity(...)

这是正常的方式吗?

1 个答案:

答案 0 :(得分:0)

您应该通过FormController通过要求访问该表单:

module.directive('editor', function() {
  return {
    require: '^form',
    link: function(scope, element, attrs, formCtrl) {
            ...
            formCtrl.$setValidity();