フォームの検証にjQueryValidationEngineを使用しています。ここに、デモのリンクがあります。
https://github.com/posabsolute/jQuery-Validation-Engine
2つのテキストボックスがあります。1つは開始日用で、もう1つは終了日用です。を超えてはならず、未満であってstart-date
はならないことをend-date
検証したいと思い
ます。end-date
start-date
検証がある場合は教えてください。
フォームの検証にjQueryValidationEngineを使用しています。ここに、デモのリンクがあります。
https://github.com/posabsolute/jQuery-Validation-Engine
2つのテキストボックスがあります。1つは開始日用で、もう1つは終了日用です。を超えてはならず、未満であってstart-date
はならないことをend-date
検証したいと思い
ます。end-date
start-date
検証がある場合は教えてください。
Date
値をオブジェクトに変換します。次に、それを使用して比較できます。Unixタイムスタンプか何かに変換します...
詳細については、httpsDate
: //developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Dateを参照してください。
編集:私が何を意味するかについての詳細を含めます.... jQuery検証エンジンページのバリデーターセクションで、funcCall[methodName]を説明している部分を探します。
funcCall[methodName] -サードパーティの関数呼び出しを使用してフィールドを検証します。検証エラーが発生した場合、関数はエラープロンプトに自動的に表示されるエラーメッセージを返す必要があります。
したがって、そのフィールドに関数ハンドラーをアタッチすると、その関数は日付を取得して比較します。
<input value="" class="validate[required,funcCall[checkDates]]" type="text" id="startdate" name="startdate" />
<input value="" class="validate[required,funcCall[checkDates]]" type="text" id="enddate" name="enddate" />
ページのどこかに、JavaScrip関数があります。
var checkDates = function(field, rules, i, options) {
// Do your date comparisons here between startdate and enddate values
};
編集#2:
またあります:
past [NOW、日付または別の要素の名前] -要素の値(暗黙的に日付)が指定された日付よりも前であるかどうかを確認します。「NOW」をパラメータとして使用すると、ブラウザで日付が計算されます。「#fieldname」が使用されている場合(「#」はオプション)、要素の値を同じフォーム内の別の要素の値と比較します。これはサーバーの日付とは異なる場合があることに注意してください。日付はISO形式YYYY-MM-DDを使用します
と
future [NOW、日付または別の要素の名前] -要素の値(暗黙的に日付)が指定された日付より大きいかどうかを確認します。「NOW」をパラメータとして使用すると、ブラウザで日付が計算されます。「#fieldname」が使用されている場合(「#」はオプション)、要素の値を同じフォーム内の別の要素の値と比較します。これはサーバーの日付とは異なる場合があることに注意してください。日付はISO形式YYYY-MM-DDを使用します
それがあなたの好みに合うなら、ここにマークアップがあります:
<input value="" class="validate[required,past[#enddate]]" type="text" id="startdate" name="startdate" />
<input value="" class="validate[required,future[#startdate]]" type="text" id="enddate" name="enddate" />
Jquery UI で日付範囲を使用します。これを参照してくださいhttp://jqueryui.com/datepicker/#date-range