我尝试配置Aurelia验证(版本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));
}
我总是收到以下错误消息:
未处理的承诺拒绝ReferenceError:未定义ValidateCustomAttributeViewStrategy
我做错了什么?
答案 0 :(得分:8)
看起来像this just recently changed。因此,截至2015年12月10日,这有效:
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))
...
}
答案 1 :(得分:3)
添加
import {ValidateCustomAttributeViewStrategy} from 'aurelia-validation';
到文件顶部
答案 2 :(得分:0)
对于aurelia验证版本1.0。它适用于创建自定义渲染器。请参阅自定义渲染器部分here。