aurelia-validation 的配置

Configuration of aurelia-validation

我正在尝试配置 Aurelia Validation(版本 0.2.6)以将所有验证消息附加到 <input> 元素而不是标签。

我的 main.js 看起来像这样:

export function configure(aurelia) {
aurelia.use
  .standardConfiguration()
  .developmentLogging()
  .plugin('aurelia-validation', (config) => { config.useLocale('de-DE').useViewStrategy(ValidateCustomAttributeViewStrategy.TWBootstrapAppendToInput); });

aurelia.start().then(a => a.setRoot('app', document.body));
}

我总是收到以下错误消息:

Unhandled promise rejection ReferenceError: ValidateCustomAttributeViewStrategy is not defined

我做错了什么?

添加 import {ValidateCustomAttributeViewStrategy} from 'aurelia-validation'; 到文件顶部

看起来像 this just recently changed。因此,从 2015 年 10 月 12 日开始,此方法有效:

import { TWBootstrapViewStrategy } from 'aurelia-validation';
...

export function configure(aurelia) {
    aurelia.use
        .plugin('aurelia-validation', (config) => config
           .useViewStrategy(TWBootstrapViewStrategy.AppendToInput))
        ...
}

顺便说一句,d.ts 目前缺少 definitions for the strategies,因此如果您使用的是 TypeScript,则必须将策略转换为 any

import { ValidationConfig, TWBootstrapViewStrategy } from 'aurelia-validation';
...

export function configure(aurelia: Aurelia) {
    aurelia.use
        .plugin('aurelia-validation', (config: ValidationConfig) => config
            .useViewStrategy((<any>TWBootstrapViewStrategy).AppendToInput))
        ...
}

对于 aurelia 验证版本 1.0。它适用于创建自定义渲染器。在自定义渲染器部分查看 here