現在、他のフレームワーク (Broadleaf) 内で smartGwt (バージョン 2.5) を使用しています。
ロケールをフランス語に設定すると:
日付フィールドは整形式 (DD/MM/YYYY) で、カレンダーはフランス語に翻訳されていますが、日付を変更してフォームを保存すると、エラー メッセージ「Doit être une date」(英語の日付である必要があります) とともにポップアップが表示されます)。バリデーターは、MM/DD/YYYY 形式の日付を想定しています。
フレームワークが日付フィールドを作成するために使用するクラスへのリンク: https://github.com/BroadleafCommerce/BroadleafCommerce/blob/BroadleafCommerce-2.2.x/admin/broadleaf-open-admin-platform/src/main/java/ org/broadleafcommerce/openadmin/client/datasource/dynamic/module/BasicClientEntityModule.java
同じ問題の投稿を見つけました (forums.smartclient.com/showthread.php?t=19847) が、答えはありません。
この問題を解決する方法を教えてください
編集 :
私が試したこと:
@Override
public void onModuleLoad() {
DateUtil.setShortDateDisplayFormat(DateDisplayFormat.TOEUROPEANSHORTDATE);
DateUtil.setShortDateDisplayFormatter(new DateDisplayFormatter() {
@Override
public String format(Date date) {
if(date == null)
{
return null;
}
else{
final DateTimeFormat dateFormatter = DateTimeFormat.getFormat("DD/MM/YYYY");
return dateFormatter.format(date);
}
}
});
以下のコードは許可されていないため:
DateUtil.setShortDateDisplayFormatter(DateUtil.TOEUROPEANSHORTDATE);
アプリケーションの初期化中にコードを配置しましたが、問題はまだ存在します:-(
スクリーンショット: http://www.hostingpics.net/viewer.php?id=989088date.png
別のアイデアはありますか?