유효성 검사를 모두 사용하지 않도록 설정하는 것이 응용 프로그램에 대한 옵션 인 경우 유효성 검사 컨텍스트를 NoValidation
으로 설정할 수 있습니다. 여기 http://sourceforge.net/p/hl7api/mailman/message/31244500/
유효성 검사를 사용하지 않도록 설정하는 방법의 예는 다음과 같습니다 :
목록은 메일 링 게요! 개발자에서이 스레드를 참조하십시오 여전히 검증이 필요한 경우
HapiContext context = new DefaultHapiContext();
context.setValidationContext(new NoValidation());
GenericParser parser = context.getGenericParser();
String message = ...
try {
parser.parse(message);
} catch (Exception e) {
e.printStackTrace();
}
을하지만, 단지에 대한 검증을 변경하려면 특정 규칙을 사용하는 경우 ValidationContext의 자체 구현을 만들어야합니다. 이것은 서브 클래스를 ca.uhn.hl7v2.validation.builder.support.NoValidationBuilder
으로 분류하고 configure
메소드를 대체하여 이것을 사용하여 ValidationContextImpl의 인스턴스를 인스턴스화합니다.
NoValidationBuilder의 하위 클래스에서 configure 메소드를 구현하는 방법에 대한 예제는 ca.uhn.hl7v2.validation.builder.support.DefaultValidationBuilder
의 소스 코드를 참조하십시오. 현재보고있는 오류 메시지를 생성하는 기본 유효성 검사 컨텍스트입니다.
public Predicate usPhoneNumber() {
return matches("(\\d{1,2})?(\\(\\d{3}\\))?\\d{3}-\\d{4}(X\\d{1,5})?(B\\d{1,5})?(C.*)?",
"a US phone number");
}
:
public class DefaultValidationBuilder extends DefaultValidationWithoutTNBuilder {
@Override
protected void configure() {
super.configure();
forAllVersions()
.primitive("TN")
.refersToSection("Version 2.4 Section 2.9.45")
.is(emptyOr(usPhoneNumber()));
}
}
공지 사항이 BuilderSupport
에 정의 된 usPhoneNumber
방법의 구현입니다 : 내가 여기에 클래스 목록을 포함하고있어 당신을 위해 쉽게 만들려면