编程语言
首页 > 编程语言> > javascript – Aurelia验证 – 在aurelia-validation@0.9.2中替换isValid

javascript – 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自定义属性来获取对当前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>

标签:javascript,aurelia,aurelia-validation
来源: https://codeday.me/bug/20190628/1310989.html