2
JSR-303
유효성 검증 빈이있는 도메인 모델이있는 양식이 있습니다. 이제는 유효성 검사없이 "초안 저장"기능을 포함하고 싶습니다. 내 해당 commandButton 유효성을 immediate=true
으로 설정하면 유효성 검사가 생략되고 양식도 제출됩니다.빈 검증없이 양식 제출
내 초안 저장 작업에서 모델을 업데이트 할 수있는 방법이 있습니까?
JSR-303
유효성 검증 빈이있는 도메인 모델이있는 양식이 있습니다. 이제는 유효성 검사없이 "초안 저장"기능을 포함하고 싶습니다. 내 해당 commandButton 유효성을 immediate=true
으로 설정하면 유효성 검사가 생략되고 양식도 제출됩니다.빈 검증없이 양식 제출
내 초안 저장 작업에서 모델을 업데이트 할 수있는 방법이 있습니까?
<f:validateBean>
을 사용하면 disabled
속성을 설정합니다. 이 true
를 평가되면
<h:inputText value="#{bean.input}">
<f:validateBean disabled="#{bean.draft}" />
</h:inputText>
이 입력 값과 관련된 재산의 모든 콩 유효성 검사를 건너 뜁니다. 유효성 검사 단계가 수행되기 전에 boolean draft
속성이 설정되어 있는지 확인해야합니다. 예 :
<h:commandButton value="Save draft" action="#{bean.saveDraft}">
<f:param name="draft" value="true" />
</h:commandButton>
@ManagedProperty("#{param.draft}")
private boolean draft;
와
또는 그것은보기 @ManagedProperty
작동하지 않습니다되는 콩을 범위의 경우 : 또 다른 방법은 버튼으로 누르면 EL에 확인하는 것입니다
public boolean isDraft() {
return "true".equals(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("draft"));
}
매개 변수 이름의 존재를 판별합니다. 예를 들어, 다음 양식 및 버튼 ID로
<h:form id="form">
<h:inputText value="#{bean.input}">
<f:validateBean disabled="#{not empty param['form:draft']}" />
</h:inputText>
<h:commandButton id="draft" value="Save draft" action="#{bean.saveDraft}" />
</h:form>
다시 감사드립니다. 매력처럼 작동합니다. – onigunn
감사합니다. BalusC – ismail