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 に答える