私のフォームの検証はうまくいきますが、メッセージはフィールドラベルではなくJSFコンポーネント名を使用します。たとえば、フィールドの件名があり、空のときに表示されるエラーメッセージは次の行に沿ったものです。Seam Richfacesフォームのバリデーション
UIComponent:contactBean.firstNameは空にできません。
マイフォーム:
<div class="field">
<s:decorate id="firstNameDecorate" template="edit.xhtml">
<ui:define name="label">#{messages['user.firstName']}</ui:define>
<h:inputText id="firstName" required="true" value="#{contactBean.firstName}">
<a:support event="onblur" reRender="firstNameDecorate"/>
</h:inputText>
</s:decorate>
私の編集テンプレート:検証は私がしたいだけのように動作し
<div class="entry">
<s:label styleClass="label #{invalid?'errors':''}">
<ui:insert name="label"/>
<s:span styleClass="required" rendered="#{required}">*</s:span>
</s:label>
<span class="input #{invalid?'errors':''}">
<s:validateAll>
<ui:insert/>
</s:validateAll>
</span>
<s:message styleClass="error errors"/>
</div>
、エラーメッセージが右に、少なくとも値(設定されていますバリデーターは、ContactBeanクラスのフィールドのアノテーションが単純なので、構成がとても簡単です。私はちょうどそれを磨くと右の値を取得したいと思い
は、例えばそこに表示される:
ファーストネームは空にすることはできません。
最後の部分はajax、onblurですが、実際には何もしません。それは私がある時点で取り組んでいるマイナーな問題です。
ContactBean.java
package com.walterjwhite.seamCore.model;
import java.io.Serializable;
import org.hibernate.validator.Email;
import org.hibernate.validator.NotEmpty;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Name;
@AutoCreate
@Name("com.walterjwhite.seamCore.model.contactBean")
public class ContactBean
implements Serializable
{
protected String firstName;
protected String lastName;
protected String emailAddress;
protected String subject;
protected String message;
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
@NotEmpty
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
@NotEmpty
@Email
public String getEmailAddress()
{
return emailAddress;
}
public void setEmailAddress(String emailAddress)
{
this.emailAddress = emailAddress;
}
@NotEmpty
public String getSubject()
{
return subject;
}
public void setSubject(String subject)
{
this.subject = subject;
}
@NotEmpty
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
}
おかげで、
ウォルター
エンティティBeanクラスを確認できますか? – Drew