1

我正在尝试实施淘汰赛验证。对于这个例子,我有 Vacancy 类型的对象,其中包含可观察的属性。如果我留下空输入,除了在 UI 中的输入附近显示错误消息(jquery 弹出窗口)之外,一切正常。我的下一步应该是什么?

JS

    ko.validation.configure({
                        registerExtenders: true,
                        messagesOnModified: true,
                        insertMessages: true,
                        parseInputAttributes: true,
                        messageTemplate: null
                    }

    var Vacancy = function() {
                    this.Header = ko.observable("").extend({ required: true });
    }

    function viewModel() {
         self.selectedVacancy = ko.observable(new Vacancy());

         self.action= function() {
                self.validationModel = ko.validatedObservable({
                        P1: self.selectedVacancy().Header
                });
                        if (self.validationModel.isValid()) {
                            alert('Do Action');
                        } else {
                            alert('Not Valid');
                        }
    }

用户界面

<label>Header: </label>
<input data-bind="value: Header"/>
4

1 回答 1

1

Validated Observables 有一个 showAllMessages 方法,您可以使用它来手动显示消息。除了打开警报之外,您还可以像这样调用 showAllMessages :

self.validationModel.errors.showAllMessages();

另外,确保insertMessages配置选项设置为 true,这是默认设置,但您可能在初始化时更改了它

于 2013-11-05T17:51:30.560 回答