在角度6中写入验证器时无法读取未定义的属性“ get”

时间:2018-10-24 19:49:56

标签: angular angular-forms

我正在尝试编写一个验证器以匹配角度6中的密码,以下是组件类的代码

    <?xml version="1.0" encoding="UTF-8"?>
    <odoo>
    <data>
    <template id="calendar">
        <h1>Choose the date for the <t t-esc="event_type"/></h1>
        <!--HTML code-->

    </template>
    </data>
    </odoo>

每次角负载组件类出现问题时,我都会遇到异常

    <odoo>
    <data>
    <template id="index_template">
        <t t-call="website.layout">
            <div id="wrap">
                <div class="container">

                    <!--=============importing calendar============-->
                    <t t-call="my_module.calendar"> 
                       <t t-set="event_type">party</t>
                    </t>

                   <!--=============other HTML code============-->

                </div>
            </div>
        </t>
    </template>        
</data>
</odoo>

编写验证器以匹配密码时,如何获取其他输入类型的值?

1 个答案:

答案 0 :(得分:1)

替换下面的密码属性get方法代码。

  get password() {
    return this.addAccountForm ? this.addAccountForm.get('password') : null;
  }

问题是您在validatePassword属性中绑定了checkPasswords验证程序,并且在此方法内您正在调用密码属性formcontrol。因为未定义'addAccountForm'。

请检查stackblitz上的工作示例

我建议您是否要比较密码,请参考此答案Confirm password validation in angular 6

如有任何困惑,请告诉我。