AngularJS自定义指令-匹配多个字段?

大卫·安东尼·阿科斯塔(David Anthony Acosta)

我有一个从https://github.com/neoziro/angular-match获得的自定义指令,指令与两个表单字段匹配。但是,如何自定义它以匹配多个字段?这是我的意思的更好解释:

-Form Field 1
-Form Field 2
-Form Field 3
-Form Field 4

-Confirmation (I want this one to match either Field 1,2,3 OR 4.)

目前,我只能将其最多匹配一个字段。

HTML表单:

<input type="text" 
       name="correctAnswer" 
       ng-model="quiz.quizData.correctAnswer" 
       match="answer1">
<div ng-show="theQuiz.correctAnswer.$error.match && !theQuiz.correctAnswer.$pristine">Answers do not match!</div>

指示:

angular.module('match', []).directive('match', ['$parse', matchDirective]);

function matchDirective($parse) {
  return {
    restrict: 'A',
    require: 'ngModel',
    link: function (scope, element, attrs, ctrl) {
      scope.$watch(function () {
        return [scope.$eval(attrs.match), ctrl.$viewValue];
      }, function (values) {
        ctrl.$setValidity('match', values[0] === values[1]);
      }, true);
    }
  };
}
克莱顿·格特(Clayton Goette)

为此,编写自己的指令可能会更容易,尤其是因为angular-match不再维护插件。

要观看多个表单输入,只需将ng-model每个所需输入的传递给指令。在这里我叫它match

<input type="text" name="firstNameOne" ng-model="firstNameOne"/>
<input type="text" name="firstNameTwo" ng-model="firstNameTwo"/>
<input type="text" name="firstNameThree" ng-model="firstNameThree"/>

<input type="text" name="confirmFirstName" ng-model="confirm" match="{{[firstNameOne, firstNameTwo, firstNameThree]}}"/>

现在为指令

app.directive('match', function() {
   return {
      restrict: 'A',
      controller: function($scope) {
         $scope.doValidation = function(matches) {
            //Validation logic.
         }
      },
      link: function(scope, element, attrs) {
          scope.$watch('confirm', function() {
              scope.matches = JSON.parse(attrs.match); //Parse the array.
              scope.doValidation(scope.matches); //Do your validation here.
          });
       }
    }
});

这是显示表单输入验证的小提琴:https : //jsfiddle.net/cpgoette/und9t5ee/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多个自定义指令angularjs

来自分类Dev

AngularJs 多个自定义指令失败

来自分类Dev

AngularJS:具有多个模板的动态自定义指令

来自分类Dev

自定义指令的多个实例失败

来自分类Dev

angularjs自定义表单和字段指令:在FormController中找不到ngModelController

来自分类Dev

自定义表单验证指令以比较两个字段

来自分类Dev

Angular中的多个自定义指令范围

来自分类Dev

AngularJS自定义指令

来自分类Dev

聚焦多个字段的angularjs

来自分类Dev

在Laravel表单验证中为多个字段设置一条自定义消息

来自分类Dev

Laravel-多个字段的相同自定义错误消息

来自分类Dev

如何创建没有任何自定义Form Type类的多个字段的集合?

来自分类Dev

重复部分上多个字段的角度形式自定义验证

来自分类Dev

如何在同一域的多个字段中重用自定义验证逻辑

来自分类Dev

通过使用parsley.js每个字段提供多个自定义错误消息支持

来自分类Dev

如何在同一域的多个字段中重用自定义验证逻辑

来自分类Dev

Laravel-多个字段的相同自定义错误消息

来自分类Dev

C# LINQ Group By 具有自定义属性的多个字段

来自分类Dev

通过定义自定义角度指令将HTML输入字段更改为标签

来自分类Dev

如何在自定义指令的模板属性中定义多个元素

来自分类Dev

angularjs自定义指令值更改

来自分类Dev

AngularJS自定义指令双向绑定

来自分类Dev

选择的AngularJS自定义指令

来自分类Dev

angularjs自定义指令重复属性

来自分类Dev

AngularJS:自定义指令内的ngView

来自分类Dev

AngularJS动态自定义指令问题

来自分类Dev

AngularJS 过滤多个字段上的重复 OR

来自分类Dev

多个字段的单个虚拟属性定义

来自分类Dev

自定义字段定义

Related 相关文章

热门标签

归档