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