어린이의 나이에 대한 입력을 확인하려고합니다. 유효한 값은 '< 1'및 1-29입니다.녹아웃 유효성 검사 - 사용자 지정 유효성 검사기
이렇게하려면 다음과 같은 사용자 지정 유효성 검사기를 만들려고합니다.
나는이 유효성 검사기가 순차적으로 작동한다고 가정하고 있습니다.
사용 사례 I "m 테스트 :
이- 사용자가 30에 진입, 던져 오류 사용자가 0 또는 아무것도 입력
- 가 던져 오류 '의 나이를 말 해주세요' '보다 29 일이 될 필요가있다'
- 사용자가 그들에 값을 변경 '< 1'하는 오류가 발생, '6개월'를 입력
- 사용자가 입력 '< 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