1

Grails 2.1
フィールドプラグイン 1.3

ドメイン クラスで定義された制約 (属性) が含まれるように、日付のフィールド レンダリングをカスタマイズする方法を見つけようとしています。

Fields プラグインのドキュメントと私が見つけたその他の情報に基づいて、Dates のデフォルトの _input.gsp を使用してこれを実行できるはずです。
grails-app/views/_fields/date/_input.gsp

現在、Fields プラグインでは制約が考慮されていません。次の結果は、1912 年から 2112 年までの年を持つ日付フィールドになります。birthDate( attributes: ["precision" : "day", "years" : 2016..1970])

これは、精度が月に設定されていても、年、月、日の日付フィールドになり、1912-2112: expireDate(attributes: ["precision" : "month", "years" : 2007 ..2016])

datePicker の制約を使用するように _input.gsp を設定するにはどうすればよいですか?

4

1 に答える 1

1

解決策を見つけることができました。これは最善の解決策ではないかもしれませんが、私のアプリでは機能しています。

使用するgrails-app/views/_fields/date/_input.gsp

<%@ page defaultCodec="html" %>

<g:if test="${constraints.nullable == true}">
    <g:datePicker name="${property}" value="${value}" precision="${constraints.attributes.precision}" years="${constraints.attributes.years}" default="none" noSelection="['': '']" />
</g:if>
<g:else>
<g:datePicker name="${property}" value="${value}" precision="${constraints.attributes.precision}" years="${constraints.attributes.years}"/>
</g:else>
于 2012-11-20T19:08:08.813 に答える