私はいくつかのフィールドを持つBeanを持っています
@NotNull( message = "{ch.ethz.id.wai.doi.validation.doi.missingdoi}" )
@Pattern( regexp = "10\\.[\\d.]+/.*", message = "{ch.ethz.id.wai.doi.validation.doi.invalidDoi}" )
private String doi;
@ManyToOne
@NotNull( message = "{ch.ethz.id.wai.doi.validation.doi.missingpool}" )
private DoiPool doiPool;
最初のアノテーションは、JSFで次のように期待どおりに機能します
<h:inputText
id = "doi"
value = "#{detailModel.afterObject.doi}"
/>
<h:messages for="doi" style="clear: both; color: red;"/>
他のフィールドには、参照されているオブジェクトの名前を入力する無効な入力テキストがあります。ユーザーは、ボタンをクリックして別のビューでオブジェクトを選択することにより、オブジェクトを指定できます。
<h:inputText
id = "doiPool"
value = "#{detailModel.afterObject.doiPool.name}"
disabled = "true"
/>
<h:messages for="doiPool" style="clear: both; color: red;"/>
は参照してinputText
いませんdetailModel.afterObject.doiPool
が、その名前を参照しているため、何も起こりません。
detailModel.afterObject.doiPool
入力フィールドで直接編集できない場合でも、検証を強制的にオンにするにはどうすればよいですか?