簡體   English   中英

jQuery-Validation-開始日期和結束日期之間的引擎驗證

[英]jQuery-Validation-Engine validation between start-date and end-date

我使用jQuery Validation Engine進行表單驗證,這里是demo的鏈接:

https://github.com/posabsolute/jQuery-Validation-Engine

我有兩個文本框,一個用於開始日期,第二個用於結束日期。 我想驗證start-date不能大於end-dateend-date必須不小於start-date

如果有任何驗證,請告訴我。

將值轉換為Date對象。 然后你可以用它來比較,例如。 轉換為Unix時間戳或其他東西......

有關Date更多信息,請參閱此處: https//developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

編輯 :我將包含更多關於我的意思的信息....在jQuery Validation Engine頁面的Validators部分下,查找描述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

還有:

過去[現在,日期或其他元素的名稱] - 檢查元素的值(隱含地是日期)是否早於給定日期。 當“NOW”用作參數時,日期將在瀏覽器中計算。 當使用“#field name”時('#'是可選的),它會將元素的值與同一表單中的另一個元素的值進行比較。 請注意,這可能與服務器日期不同。 日期使用ISO格式YYYY-MM-DD

future [NOW,date或other element's name] - 檢查元素的值(隱式日期)是否大於給定日期。 當“NOW”用作參數時,日期將在瀏覽器中計算。 當使用“#field name”時('#'是可選的),它會將元素的值與同一表單中的另一個元素的值進行比較。 請注意,這可能與服務器日期不同。 日期使用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" />

嘗試這個:

<input  class="validate[dateRange[group]]" type="text" id="date1">
<input  class="validate[dateRange[group]]" type="text" id="date2">

在Jquery UI中使用日期范圍。請參閱http://jqueryui.com/datepicker/#date-range

即使為時已晚,我也有一個簡單的答案,可能會對其他人有所幫助。 你可以在這里獲得關於jQuery驗證引擎的注釋,這將是一個更好的解決方案,

https://github.com/posabsolute/jQuery-Validation-Engine

您可以在HTML源代碼中使用futurenow validators來啟用驗證。

例如,

如果您有twio文本框,其id屬性為start_dateend_date ,則可以使用驗證器,如下所示:

<input value="" class="validate[required,custom[date]]" type="text" id="start_date" name="start_date" />

<input value="" class="validate[required,custom[date],future["#start_date"],now["#start_date"]]" type="text"  id="end_date" name="end_date"  />

然后在基於區域設置的驗證引擎文件中,請將所需的消息放在future驗證器上,以便在驗證時顯示驗證用量。

希望這對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM