我有一个非常简单的代码,我正在尝试验证:
<template>
<form role="form" submit.delegate="submit()" validate.bind="validation">
<div class="form-group">
<label>Test Field</label>
<input type="text" value.bind="testField" class="form-control" validate="Description" placeholder="What needs to be done?" />
<button type="submit">Submit</button>
</div>
</form>
</template>
使用以下viewmodel
define(["require", "exports", "../scripts/HttpClient", "aurelia-validation", "aurelia-framework"], function(require, exports, HttpClient) {
var AureliaValidation = require('aurelia-validation').Validation;
var MyViewModel = (function () {
function MyViewModel(httpClient, aureliaValidation, isReadyCallback) {
this.httpClient = httpClient;
var self = this;
self.setupValidation(aureliaValidation);
}
MyViewModel.prototype.activate = function (params, queryString, routeConfig) {
};
MyViewModel.prototype.setupValidation = function (validation) {
this.testField = "";
this.validation = validation.on(this).ensure('testField');
//validation
// .on(this.serviceMetadata.ServiceData[0])
// .ensure('Value');
this.validation = this.validation.notEmpty().maxLength(3);
};
MyViewModel.prototype.submit = function () {
debugger;
if (this.validation.checkAll()) {
//Do Something
}
return null;
};
MyViewModel.inject = [HttpClient, AureliaValidation];
return MyViewModel;
})();
return MyViewModel;
});
现在我在大多数情况下都使用它,并且验证在提交检查时显示为false,文本框轮廓颜色更改等,但是它不会将验证错误消息注入DOM。也没有脚本错误消息,我该如何排除故障呢?
是的,我可以在validationProperties中看到验证消息,但它们不会写入UI。
答案 0 :(得分:2)
如果您的浏览器允许,请在源代码中找到JSPM包并放置a breakpoint here,它是查看策略查找标签以附加错误消息的点。如果您公开使用此代码,我们很乐意为您服务。
另外,您使用的是什么版本的aurelia / aurelia-validation?
最后,您是否在发布之前修改了样本?
`<input value.bind="testField" validate="Description" />`
这两个属性是矛盾的。它将值绑定到testField,但随后您使用validate属性显式显示属性的验证消息&#34;描述&#34;。