나는 here과 비슷한 맞춤형 검사기를 만들었습니다.메시지 내부의 녹아웃 사용자 정의 검사기에서 매개 변수를 사용할 수 있습니까?
유효성 검사기의 의도는 다른 장소에서 사용할 수있을만큼 충분히 포괄적 인 것입니다. 이 특정 인수는 전달 된 파일 형식 확장자의 유효성을 검사하고 관찰 가능 파일이 유효한 파일 형식 인 경우 true를 반환합니다. 이 파일 형식을 포함하는 사용자 지정 오류 메시지를 전달하여 사용자에게 어떤 확장명을 사용할 수 있는지 알려줍니다. 당신이 볼 수 있듯이 IE
ko.validation.rules['validateFileTypeExtensions'] = {
validator: function (fileName, validExtensions) {
var isValidExtension = false;
var extension = fileName.split('.').pop();
validExtensions.forEach(function(validExtension){
if(extension == validExtension)
isValidExtension = true;
});
return isValidExtension;
},
// At this point message does not have access to the validExtensions
// that were passed into the validator. Is there a way to get them here?
message: 'Please chose a file with an acceptable extension ({0}).'
};
ko.validation.registerExtenders();
//the valid file extensions are passed into the validator.
var myCustomObj = ko.observable().extend({ validateFileTypeExtensions: ['xls', 'xlsx'] });
은 '메시지'는 validExtensions
변수에 액세스 할 수 없습니다. 유효성 검사기에서 그 값에 액세스하는 것을 인식하지 못하는 방법이 있습니까?
메시지에 대한 기능을 사용하는 것이 실제로 효과가 있습니다. 이는 유효성 검사기로 원래 보낸 매개 변수를 캡처합니다. 감사! 이것은 또 다른 질문을 제기했지만 ... '메시지'는 오직 1 개의 매개 변수 만 허용됩니다. 이 매개 변수는 유효성 검사기로 전송 된 params이며, 두 번째 매개 변수를 사용하면 (예에서와 같이) 정의되지 않습니다. 그러면 어떻게 메시지에서 관찰 가능한 내용에 액세스 할 수 있습니까? – leigero
죄송합니다, 제 버전이 섞여있을 수 있습니다. 근원에서 알 수있는 한 최대 녹아웃 유효성 확인의 두 번째 매개 변수가 있어야합니다. 두 번째 매개 변수는 유효성을 검사 할 관찰 가능 항목이어야합니다. 이전 버전에는이 매개 변수가 없을 수 있습니다. [2013 년 12 월 12 일 빌드] (https://github.com/Knockout-Contrib/Knockout-Validation/commit/2326fda57b9e1e5e500e51296c756572187ee455)에 추가 된 것 같습니다. –