나는 각 텍스트 상자에 대한 <asp:CustomValidator>
제어를 권 해드립니다. 당신은 사용자 정의 검증 루틴에 대해 다음과 같은 것을 사용할 수 있습니다 :이 방법의
var textBox1IsValid = function textBox1IsValid(sender, args) {
var tb = document.getElementById('TextBox1'),
resultOfValidation = false;
//do validation, modifying resultOfValidation as needed.
arg.IsValid = resultOfValidation;
return resultOfValidation;
},
textBox2IsValid = function textBox2IsValid(sender, args) {
var tb = document.getElementById('TextBox2'),
resultOfValidation = false;
//do validation, modifying resultOfValidation as needed.
//return either the validity of TextBox2
//or (if TextBox1 is not valid) return true so the
//validator for TextBox2 doesn't fire.
arg.IsValid = resultOfValidation || !textBox1IsValid(sender, args);
return resultOfValidation;
},
textBox3IsValid = function textBox3IsValid(sender, args) {
var tb = document.getElementById('TextBox3'),
resultOfValidation = false;
//do validation, modifying resultOfValidation as needed.
//return either the validity of TextBox3
//or (if either TextBox1 or TextBox2 is not valid) return
//true so the validator for TextBox3 doesn't fire.
arg.IsValid = resultOfValidation || !textBox1IsValid(sender, args) || !textBox2IsValid(sender, args);
return resultOfValidation;
};
장점은 TextBox1
이 유효하지 않은 경우 그 내용이 또는을 유효한지 TextBox2
및 TextBox3
가 유효한 반환 것입니다. 모든 필드가 유효해질 때까지 한 번에 하나의 유효성 검사기 만 실행됩니다. 사용자 정의 유효성 검사 루틴을 확인할 수 있습니다 그것은 또한 좀 더 유연 :
또는 당신이 필요로하는 다른 검증, 모든 싸서 패턴 매칭 하나의 기능으로
단점은 서버 측 검증 로직을 복제해야한다는 것입니다.
사용자에게 번거롭지 않습니까? – Alan
사용자 요구 사항 ...... – Chandra