2

我是淘汰赛的新手,并试图锻炼如何使用验证。我们有以下代码 -

    var MyObjectModel = function(myObject){
    var self = this;
    self.myNumber = ko.observable(myObject.number).trimmed();
    self.myNumber.extend({
        minLength: {
            params: 7,
            message: "My Number is too short."
        },
        maxLength: {
            params: 7,
            message: "My Number is too long."
        }
    });

    self.errors = ko.validation.group(self);
}

现在我想更改代码,以便 myObject.number 的长度应该正好是 7,或者该字段应该为空。我该如何进行此更改?

任何帮助,将不胜感激。如果您认为有什么不清楚的地方,请告诉我,以便我详细说明。

4

1 回答 1

3

您可以对其使用自定义模式:

var MyObjectModel = function(myObject){
    var self = this;
    self.myNumber = ko.observable(myObject.number).trimmed();
    self.myNumber.extend({
        pattern: {
            params: '^[0-9]{7}$|^$',
            message: "My Number must have 7 chars or stay empty."
        }
    });

    self.errors = ko.validation.group(self);
}
于 2013-01-14T10:11:05.677 回答