Aurelia验证 - 在aurelia-validation@0.9.2中替换isValid

时间:2016-06-22 13:10:46

标签: javascript aurelia aurelia-validation

在aurelia-validation版本0.6.8中,您可以使用isValid标志检查html中的验证是通过还是失败。

设置验证属性,如下所示:

import {Validation} from 'aurelia-validation';
@inject(Validation)

@customElement('base-content')
export class BaseContent {
    this.validation = validation;
    this.validator = this.validation.on(this).ensure('baseContent.Name').isNotEmpty();
}

然后像这样使用isValid:

<button class="btn btn-success" type="submit" disabled.bind="!validation.result.isValid">Sign In</button>

以前工作但我最近升级了aurelia验证,所以我现在有以下包 - aurelia-validation@0.9.2
- aurelia-validatejs@0.5.2

我正在寻找的是一种复制我过去所做的事情的方法,但是使用新的套餐。 这是我能得到的最接近但是我不想在以前是个不错的选择时进行肮脏的检查。

import {inject, NewInstance} from 'aurelia-framework';

@inject(NewInstance.of(ValidationController))
export class Login {
    this.controller = controller;
}

get isValid(){
    if (this.controller.validate().length == 0) {
        return true;
    }
    return false;
}
 <button class="btn btn-success" type="submit" disabled.bind="!.isValid">Sign In</button>

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用validation-errors自定义属性来获取对当前错误数组的引用。此数组中的对象形状如下:{ error: ValidationError, target: Element }

<form validation-errors.bind="errors">
  ...
  ...
  <button class="btn btn-success" type="submit" disabled.bind="errors.length">Sign In</button>
</form>