使用Angular验证模糊时的输入字段

3g网络火车

我做了一个简单的测试输入字段,但是我尝试转换模糊验证,但是我不知道要实现这一点,因为我对angularjs不太熟悉。

在这个例子中,任何人都可以帮助我验证一次模糊。

myJs:

angular.module('myApp', [])
.controller('FormController', function($scope) {
  $scope.fields = [
    {placeholder: 'Username', isRequired: true},
    {placeholder: 'Password', isRequired: true},
    {placeholder: 'Email (optional)', isRequired: false}
  ];

  $scope.submitForm = function() {
    alert("it works!");
  };
});

的HTML:

<div ng-app="myApp">
<form name="signup_form" ng-controller="FormController" ng-submit="submitForm()" novalidate>
  <div ng-repeat="field in fields" ng-form="signup_form_input">
    <input type="text"
           name="dynamic_input"
           ng-required="field.isRequired"
           ng-model="field.name"
           placeholder="{{field.placeholder}}" />
    <div ng-show="signup_form_input.dynamic_input.$dirty && signup_form_input.dynamic_input.$invalid">
      <span class="error" ng-show="signup_form_input.dynamic_input.$error.required">The field is required.</span>
    </div>
  </div>
  <button type="submit" ng-disabled="signup_form.$invalid">Submit All</button>
</form>
</div>

现场演示

黑麦

您可以简单地创建与相同名称的指令ngModelblur在元素上添加一个事件,该事件会将的$dirty状态更改ngModel为true。通过在数组内添加回调,确保在对元素进行更改时将ngModel$dirty状态更改为false ngModel.$viewChangeListeners

分叉样品

该指令如下所示:

.directive('ngModel', function() {
    return {
        require: 'ngModel',
        link: function(scope, elem, attr, ngModel) {
            elem.on('blur', function() {
                ngModel.$dirty = true;
                scope.$apply();
            });

            ngModel.$viewChangeListeners.push(function() {
                ngModel.$dirty = false;
            });

            scope.$on('$destroy', function() {
                elem.off('blur');
            });
        }
    }
});

注意:不用担心自定义指令名称ngModel是否与Angular的默认名称相同ngModel,它将仅运行它们两者(不会覆盖它)。scope.$on('$destroy')监听器,消除了blur当的范围被破坏的事件处理程序,例如,当路由变化,并且控制器被破坏,或当一个场被移除,其触发再次重建重复DOM元素(破坏由创建的子范围ng-repeat)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Angular动态添加输入字段并执行模糊验证

来自分类Dev

使用jquery和autocomplete在模糊时解析输入字段内容

来自分类Dev

如何让角度$ asyncValidator在模糊时触发但在输入时使用常规验证器

来自分类Dev

在Angular上的Enter键上模糊输入字段

来自分类Dev

仅在使用 Angular 7 关注输入字段时元素的外观

来自分类Dev

在Angular 2中快速键入内容时,带有验证的输入字段会崩溃

来自分类Dev

在Angular 2中快速键入内容时,带有验证的输入字段会崩溃

来自分类Dev

使输入字段中的文本模糊

来自分类Dev

如何使parsleyjs仅在模糊时触发验证(对于已通过验证的字段)

来自分类Dev

在纯 PHP 字段退出时验证输入字段

来自分类Dev

使用GetOrgChart对输入字段进行验证

来自分类Dev

如何使用php验证输入字段

来自分类Dev

如何使用javascript验证数组输入字段

来自分类Dev

如何使用php验证输入字段

来自分类Dev

使用JavaScript验证多个输入字段

来自分类Dev

使用JavaScript或jQuery验证输入字段

来自分类Dev

使用javascript验证字段中的密钥输入

来自分类Dev

如何使用选择列表验证输入字段?

来自分类Dev

使用jQuery .val()设置输入字段值时,引导程序验证器不起作用

来自分类Dev

如何使用Angular.js / Javascript添加URL的输入字段验证

来自分类Dev

在使用反应形式取消Angular中的输入字段后如何触发异步验证器?

来自分类Dev

以Angular形式遍历字段并使用量角器测试输入验证?

来自分类Dev

如何使用Angular.js / Javascript添加URL的输入字段验证

来自分类Dev

Angular邮件验证文件模糊

来自分类Dev

角度2:使用内置的验证器验证输入字段

来自分类Dev

在使用jQuery输入时验证表单输入字段吗?

来自分类Dev

在ng-repeat中进行内联编辑时,输入字段模糊

来自分类Dev

仅当在Laravel 5.2中输入字段时才验证

来自分类Dev

验证失败时,使输入字段为空的角度

Related 相关文章

  1. 1

    使用Angular动态添加输入字段并执行模糊验证

  2. 2

    使用jquery和autocomplete在模糊时解析输入字段内容

  3. 3

    如何让角度$ asyncValidator在模糊时触发但在输入时使用常规验证器

  4. 4

    在Angular上的Enter键上模糊输入字段

  5. 5

    仅在使用 Angular 7 关注输入字段时元素的外观

  6. 6

    在Angular 2中快速键入内容时,带有验证的输入字段会崩溃

  7. 7

    在Angular 2中快速键入内容时,带有验证的输入字段会崩溃

  8. 8

    使输入字段中的文本模糊

  9. 9

    如何使parsleyjs仅在模糊时触发验证(对于已通过验证的字段)

  10. 10

    在纯 PHP 字段退出时验证输入字段

  11. 11

    使用GetOrgChart对输入字段进行验证

  12. 12

    如何使用php验证输入字段

  13. 13

    如何使用javascript验证数组输入字段

  14. 14

    如何使用php验证输入字段

  15. 15

    使用JavaScript验证多个输入字段

  16. 16

    使用JavaScript或jQuery验证输入字段

  17. 17

    使用javascript验证字段中的密钥输入

  18. 18

    如何使用选择列表验证输入字段?

  19. 19

    使用jQuery .val()设置输入字段值时,引导程序验证器不起作用

  20. 20

    如何使用Angular.js / Javascript添加URL的输入字段验证

  21. 21

    在使用反应形式取消Angular中的输入字段后如何触发异步验证器?

  22. 22

    以Angular形式遍历字段并使用量角器测试输入验证?

  23. 23

    如何使用Angular.js / Javascript添加URL的输入字段验证

  24. 24

    Angular邮件验证文件模糊

  25. 25

    角度2:使用内置的验证器验证输入字段

  26. 26

    在使用jQuery输入时验证表单输入字段吗?

  27. 27

    在ng-repeat中进行内联编辑时,输入字段模糊

  28. 28

    仅当在Laravel 5.2中输入字段时才验证

  29. 29

    验证失败时,使输入字段为空的角度

热门标签

归档