2016-10-17 16 views
0

私はPhoenixフレームワークを使用した簡単な予約システムを開発中です。Phoenix Datepickerは利用可能な日付のみを表示する

:time, Ecto.DateTime 
:description, :string 
belongs_to :user, Test.User 

私はに向かう「予約/新」、私のフォーム:現時点では、私は次の属性を「予約」モデルから値を取る日付ピッカーを表示し、新しい予約のためのルートを持っています正しく表示され、私はいつでも好きな日付を選ぶことができます。しかし、私は現在、ピッカーから利用不可能な日付を削除する方法を理解しようとしています。

A screenshot of my form

私の知る限り見ることができるように、フォームはしかし、OOPの背景から来て、さんのDateTimeプリミティブ型から値を取っている私は、除去するために更新する必要がどのようなリソースを把握することはできません利用できない日付。カスタムタイプを作成する必要がありますか?

おかげで、事前

+1

デフォルトの「DateTime」ピッカーで任意の日付をブロックすることはできません。範囲を制限することはできますが、それらは独立した ''入力なので、デフォルトの実装で特定の組み合わせを非表示にすることはできません。 JavaScript/jQueryの日付ピッカーを調べるか、フォーム送信時またはAJAXを使用してサーバー側の検証を行うだけです。 – Dogbert

+0

私はそう思っていました。ありがとう、私はAJAXまたはJQueryを使用してこれを行い、必要に応じてこれを更新しようとします。 – ersortae

答えて

1

にデフォルトDateTimeピッカーで任意の日付をブロックすることはできません。範囲を制限することができます(たとえば、年を1234〜1243、月を1月〜6月に制限することはできます)が、<select>の入力は独立しているため、特定の組み合わせを非表示にすることはできません。これを解決するには、次の2つの方法があります。

    サーバーで検証を行います。 AJAXを使用すると、必要に応じて、ユーザーがページを更新せずに選択するとすぐに検証を実行できます。

  1. JavaScriptを使用して、カスタムJSを使用して撮影日を選択することをブロックするか、既存の完全版のDatePicker/Calendarライブラリを使用して範囲を制限します。

関連する問題