【问题标题】:Angular2: Model driven form validation for confirm passwordAngular2:用于确认密码的模型驱动表单验证
【发布时间】:2017-02-06 16:16:53
【问题描述】:

我们如何使用 angular2 验证来确认密码?我正在使用 angular 2.0 final。

我正在为模型驱动表单使用 formbuilder 类,如下所示:

    this.myForm = this.fb.group({
      name: ['', Validators.compose([Validators.required])],
      email: [''],
      passwordgroup: this.fb.group({
        password: ['', Validators.compose([Validators.required])],
        confirm_password: ['', Validators.compose([])]
      })
    });
  

【问题讨论】:

    标签: validation angular angular2-forms angular2-formbuilder


    【解决方案1】:
    this.myForm = this.fb.group({
          name: ['', Validators.compose([Validators.required])],
          email: [''],
          passwordgroup: this.fb.group({
            password: ['', Validators.compose([Validators.required])],
            confirm_password: ['', Validators.compose([])]
          },  passwordConfirming)
        });
    

    删除上面的 'validator' 键(取消此对象表示法)并仅使用验证器名称 'passwordConfirming' 没有语法错误。

    【讨论】:

      【解决方案2】:

      您可以通过像这样将此函数添加到您的组件中来简单地使用自定义验证器

       import { AbstractControl } from '@angular/forms';
      
          function passwordConfirming(c: AbstractControl) {
              return c.get('password').value === c.get(' confirm_password').value
      
      this.myForm = this.fb.group({
            name: ['', Validators.compose([Validators.required])],
            email: [''],
            passwordgroup: this.fb.group({
              password: ['', Validators.compose([Validators.required])],
              confirm_password: ['', Validators.compose([])]
            },  { validator: passwordConfirming })
          });
      

      【讨论】:

      • 如果密码不匹配,我的整个表单(myForm)应该是无效的,对吧?
      • 实际上你不能在Angular2中定义像function abc(x: X){}这样的函数。需要使用类似于 abc = function(x:X){} 的东西
      • @Paresh 这是真的
      • 它给了我语法错误。无论如何,关于验证部分,该解决方案在我的情况下不起作用。 myForm 即使密码不匹配也有效
      • 这里是code。由于某些路由问题,Plunker 无法正常工作,但您可以看到代码
      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 2018-09-26
      • 2012-12-08
      • 2013-06-04
      • 2017-09-15
      • 1970-01-01
      • 2014-03-23
      • 2013-09-18
      相关资源
      最近更新 更多