检测到 Aurelia Validation 验证错误,但没有错误消息

Aurelia Validation validation error detected, but no error message

我要验证一个超级简单的代码:

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

使用以下视图模型

 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;
});

现在我大部分时间都能正常工作,验证在提交检查时显示错误,文本框轮廓颜色发生变化等,但是它没有将验证错误消息注入 DOM。也没有脚本错误消息,请问如何解决?

是的,我可以在 validationProperties 中看到验证消息,但它们没有写入 UI。

如果您的浏览器允许,请在源代码中找到 JSPM 包并放入 a breakpoint here,这是视图策略查找标签以将错误消息附加到的位置。如果您公开此代码,我很乐意为您查看。

此外,您使用的 aurelia/aurelia-validation 是什么版本?

最后,您在发布前是否修改了样本?

`<input value.bind="testField" validate="Description" />`

这两个属性是矛盾的。它将值绑定到 testField,然后您使用 validate 属性显式显示 属性 "Description".

的验证消息