1
我想驗證孩子年齡的條目。有效值爲'< 1'和1-29。基因敲除驗證 - 自定義驗證器
爲此,我試圖創建像下面這樣的自定義驗證器。
我假設這些驗證器按順序工作,所以我一直在移動它們。
使用情況下,我「米測試:
- 用戶輸入30,扔‘必須小於29’錯誤
- 用戶輸入0或沒有,拋出‘請說怎麼老’錯誤
- 用戶輸入'6個月,則拋出錯誤對於他們改變值「< 1」
- 用戶輸入「< 1」沒有錯誤
- 用戶輸入1或2或3或4 ...,沒有錯誤
我還沒有能夠通過所有這些測試。 #5失敗。
var ChildModel = function(cookieAge){
var self = this,
age = cookieAge || "";
self.age = ko.observable(age).extend({
validation: [{
validator: function (val) {
return val !== "" || parseInt(val,10) === 0;
},
message: 'Please say how old this child is.'
},{
validator: function (val, someOtherVal) {
return val=== "<1" || val <= someOtherVal;
},
message: "This child's age must be less than or equal to 29.",
params: 29
},{
validator: function (val) {
var text = val.match(/(\D+)/g);
log(text);
return val.match(/^[0-9].$/) || text && text.length > 0;
},
message: "(contains text) For Children less than 1, please use '<1'"
}]
});
};
謝謝!我很感激。 – Scott