【问题标题】:How does one set custom validation on an Angular form?如何在 Angular 表单上设置自定义验证?
【发布时间】:2016-08-31 05:27:17
【问题描述】:

我正在尝试在 Angular 应用程序的输入字段上设置自定义验证。验证不能设置为模式,因为它基于另一个字段的内容(即密码必须匹配)

在这种情况下进行验证的一种方法是检查表单输入中的字段。但是,我希望能够实时检查有效性,并能够使用 CSS 类,例如 .ng-dirty.ng-valid,这些是 Angular 负责验证时出现的。

我尝试使用$scope.formName.inputName.$setValidity(...),但我在这方面遇到了问题(StackOverflow 问题here)。

AngularJS 中是否有另一种方式来设置自定义验证?

【问题讨论】:

标签: javascript angularjs validation angularjs-scope


【解决方案1】:

如前所述,如果您检查 https://docs.angularjs.org/guide/forms#custom-validation 您将看到您可以使用指令来创建自己的自定义验证,在示例中,只要您输入一个字符就会完成验证。

如果您使用浏览器检查示例(用户名输入字段),您将看到类(ng-not-empty ng-dirty ng-valid-parse ng-touched ng-valid ng-valid-username)即时更改。

如果您有一个表单,将考虑这些类来将 form.$valid 属性更改为 true 或 false。默认情况下如果 form.$valid 为 false 则不能提交。

【讨论】:

    【解决方案2】:

    我知道这不能回答您的问题,但我发现了一些可以为您做到这一点的指令:

    https://blog.brunoscopelliti.com/angularjs-directive-to-check-that-passwords-match/

    https://github.com/TheSharpieOne/angular-validation-match

    试试看是不是你需要的。

    【讨论】:

      猜你喜欢
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 2020-01-13
      • 1970-01-01
      相关资源
      最近更新 更多