Aurelia验证确保依赖性问题

时间:2015-08-24 14:44:02

标签: validation aurelia aurelia-validation

我有2个确认 - 2个字段的验证装饰器:password和retypePassword。我想在填写retypePassword字段时检查这两个字段的相等性。

问题是,当我在这两个字段中输入完全相同的密码时,它表示密码不匹配。

@ensure(function(elem: ValidationGroup) {
    elem
        .isNotEmpty()
        .isStrongPassword()
}) password: string;

@ensure(function(elem: ValidationGroup) {
    elem
        .isNotEmpty()
        .isStrongPassword()
        .isEqualTo(elem.subject.password, "password")
}) retypePassword: string;

我运行调试器,当执行.isEqualTo(elem.subject.password," password")行时,我看到elem.subject.password是UNDEFINED。

我该如何解决?如何测试这些密码的相等性?为什么elem.subject.password未定义?

谢天谢地。

1 个答案:

答案 0 :(得分:3)

official documentation中,有一个关于如何通过流畅API进行操作的规范。

要使用@ensure装饰器执行此操作,您可以使用以下内容:

@ensure((elem: ValidationGroup) => {
        elem
            .isNotEmpty()
            .isStrongPassword()
            .isEqualTo((parent = elem) => { return parent.result.properties.password.latestValue }, "password")
    }) retypePassword: string;