2011-12-15 22 views
3

私は、Primeface 3.0M4コンポーネントライブラリを使用しているJSF 2.0アプリケーションを持っています。私は、次の入力を持っている:私がやりたいものをJSF - 検証に失敗したフォーカスコンポーネント

<p:inputText id="input" value="#{bean.value}" required="true"> 
     <p:ajax event="blur" update="msg" /> 
</p:inputText> 
<p:message id="msg" for="input" /> 

は値を入力するようにユーザーを強制的に、ケースの検証に(値が空である)が失敗し、コンポーネントへの戻りを集中ということです。これは可能ですか? また、ユーザーが[送信]ボタンをクリックすると、検証が失敗した場合、検証に合格しなかった最初のコンポーネントがフォーカスされます。

おかげで、
ダミアン

答えて

2

ことが可能であり、クライアント側、requiredrequiredMessageの属性を使用します。ユーザーがフォームを送信することができないと、エラーメッセージが表示されます。

<h:outputLabel for="firstname" value="Firstname: *" /> 
     <p:inputText id="firstname" 
       value="#{personBean.firstname}" 
       required="true" requiredMessage="You have to enter your name" label="Firstname"> 
      <f:validateLength minimum="2" /> 
     </p:inputText> 
     <p:message for="firstname" /> 

あなたがrequiredMessage属性を使用しない場合、それはあなたの2件の警告メッセージが表示されますので、あなたは、primefaces messageを使用することができ、それは少し奇妙です...

フォーカスのために... 2つのinputTextがある場合はどうなりますか?あなたは最初のものだけに焦点を当てたいのですか? ここでデモを見ることができます:http://www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf

+0

感謝@spauny最初の部分はすでに働いていた、私の質問は焦点についてだった。 catagay civiciの答えはそれを行う正しい方法です。 – Damian

+1

@ダミアンええ、私は焦点を忘れました、実際に私はそれを使用したことはありません...ので、心配しないで、すべての後に彼は主任ボスです! :D – spauny

関連する問題