Aurelia验证 - 在Aurelia -validation@0.9.2中替换Isvalid



在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>

有什么想法?

您可以使用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>

最新更新