MyFacesとMojarra2.1の両方で、にjavax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
設定されてtrue
いる場合、空白にされて送信されたときに、モデルに必須としてマークされ、事前に入力されているフィールドが、元の空白になっていない状態で再表示されるという欠陥があります。空白のままにする代わりに値。
シナリオは次のとおりです。
- ユーザーは、モデルからの既存のデータが入力された単一の必須フィールドを含むページをロードします
- ユーザーがページのフィールドをクリアしてフォームを送信します
- 期待どおりに検証が失敗し、ユーザーには必須フィールドに入力する必要があるというエラーメッセージが表示されます。
問題は、ユーザーが送信した内容(つまり、フィールドに空白の値を送信したこと)を表示するフィールドに、代わりにモデルの元の値が入力されることです。唯一の回避策は、に設定javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
することfalse
です。false
ページが必要なフィールドエラーメッセージで再表示されたときにフィールドが空白のままになるという望ましい動作を提供するように設定します。
Mojarra(http://java.net/jira/browse/JAVASERVERFACES-2375)とMyFaces(https://issues.apache.org/jira/browse/MYFACES-3525)で欠陥がログに記録されましたが、進捗はありません。 6週間で。
Mojarraでも6か月以上前に同様の問題が報告されたようですが、進展はありません。
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
falseではなくtrueに設定し続けることができ、それでもこの必須のフィールドユーザビリティの問題に遭遇しないという回避策を知っている人はいますか?