내 영어가 좋지 않습니다. 미안합니다. 내 질문은 jsf 유효성 검사에 관한 것입니다. 유효성 검사 빈이 ValidatorException을 throw하면 내 관리 빈 save_method가 작동합니다.하지만 내 save_method가 작동하지 않습니다. . 전자 메일이 유효하지 않으면 내 save_method가 작동하지 않아야합니다.복합 구성 요소가있는 Jsf 유효성 검사가 제대로 작동하지 않습니다.
복합 인터페이스 검증 빈에 해당
<c:if test="#{cc.getValueExpression('validator')!=null}">
<p:inputText value="#{cc.attrs.value}" id="#{cc.attrs.id}"
required="#{cc.attrs.required}" validator="#{cc.attrs.validator}"/>
검증 방법 등
<composite:attribute name="validator" required="false"
method-signature="void Action(javax.faces.context.FacesContext, javax.faces.component.UIComponent,Object)" />
복합 구현.
@Override
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
String email = (String) value;
Pattern mask = null;
mask = Pattern.compile(EMAIL_REGEX);
Matcher matcher = mask.matcher(email);
if (!matcher.matches()) {
messageManager.warn(MessageManager.Bundles.WO, "validator.message.email");
throw new ValidatorException(new FacesMessage("hoppala"));
}
}
및 관리 빈 저장 방법.
@Override
public boolean save() {
super.save();
}
+1 당신은이 질문에 나를 이겼습니다. ''를 사용하여 패싯을 복합 컴포넌트에도 삽입하는 것도 가능하지 않습니까? –
좋은 답변, 고맙습니다. – mstzn
@maple_shaft 선택적으로 유효성 검사기 (?)를 적용하기 위해 패싯을 사용하려는 경우 - 아니요. 어쩌면 내가 잘못 이해 했는지도 몰라. – fischermatte