JSF의 사용자 정의 가시 데이터로 메시지를 표시할 때 정보에 SEVERITY를 표시합니다ERROR를 설정하지 않으면 h:message의 errorClass가 적용되지 않습니다.
OS : macOS Hight Sierra Version10.13.2
Eclipse : Version: Neon.3 Release (4.6.3)
GlassFish : 4.1.2
JSF : 2.2
JDK : 1.8
이러한 화면의 [비밀번호]를 입력하십시오.텍스트 상자에 사용자 정의 가시 데이터를 설정합니다.
inputPassword.xhtml
<省略>
<h:head>
<title>入力画面</title>
<h:outputStylesheet library="css" name="base.css"/>
</h:head>
<body>
<h:form>
<h:outputLabel>パスワードを入力して下さい。</h:outputLabel>
<br />
<h:inputSecret id="password" value="#{passwordBean.password}">
<f:validateRequired />
<f:validateLength minimum="3" maximum="10" />
<f:validator validatorId="passwordValidator" />
</h:inputSecret>
<h:message for="password" errorClass="error" />
<br />
<h:outputLabel>確認のためにもう 1度入力して下さい。</h:outputLabel>
<br />
<h:inputSecret id="rePassword" value="#{passwordBean.kakuninPassword}">
<f:validateRequired />
</h:inputSecret>
<h:message for="rePassword" errorClass="error" />
<br />
<h:commandButton value="送信" action="#{passwordBean.onClickSend}" />
</h:form>
</body>
</html>
base.css@CHARSET "UTF-8";
.error {
color: red;
}
SEVERITY_ERROR를 설정하지 않으면 errorClass 스타일을 메시지에 적용할 수 없습니다.
PasswordValidator.java
<省略>
/** パスワード入力画面用のカスタムバリデータ. */
@FacesValidator(value = "passwordValidator")
public class PasswordValidator implements Validator {
private static final String KINSHI = "password";
@Override
public void validate(FacesContext context, UIComponent component, Object value)
throws ValidatorException {
String inputedValue = (String) value;
if (inputedValue.equals(KINSHI)) {
FacesMessage errorMessage = new FacesMessage(KINSHI + "は使えません。");
throw new ValidatorException(errorMessage);
}
}
}
브라우저 개발 도구에 표시된 상태<label>パスワードを入力して下さい。</label>
<br>
<input id="j_idt6:password" type="password" name="j_idt6:password" value="">
"passwordは使えません。
"
<br>
<label>確認のためにもう 1度入力して下さい。</label>
<br>
<input id="j_idt6:rePassword" type="password" name="j_idt6:rePassword" value="">
<span class="error">検証エラー: 値が必要です。</span>
SEVERITY_ERROR를 설정할 때 errorClass 스타일을 사용합니다.
PasswordValidator.java
<省略:他は上記コードと同じ>
FacesMessage errorMessage = new FacesMessage(KINSHI + "は使えません。");
errorMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(errorMessage);
<省略:他は上記コードと同じ>
브라우저 개발 도구에 표시된 상태<label>パスワードを入力して下さい。</label>
<br>
<input id="j_idt6:password" type="password" name="j_idt6:password" value="">
<span class="error">passwordは使えません。</span>
<br>
<label>確認のためにもう 1度入力して下さい。</label>
<br>
<input id="j_idt6:rePassword" type="password" name="j_idt6:rePassword" value="">
<span class="error">検証エラー: 値が必要です。</span>
저를 도와주신 건요.
errorClass 속성: error 메시지의 CSS 클래스 지정
Reference
이 문제에 관하여(JSF의 사용자 정의 가시 데이터로 메시지를 표시할 때 정보에 SEVERITY를 표시합니다ERROR를 설정하지 않으면 h:message의 errorClass가 적용되지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ponsuke0531/items/ce158af98046b90df02f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)