我在我的網站上有一個簡單的表單,要求輸入事件ID,日期和金額。我想確保用戶輸入的日期在未來10天以上。如果他們的活動少於10天,我不希望我的客戶在網上支付款項。一旦他們輸入信息,他們就會被引導到一個安全的網站,在那裏他們可以進行我的銀行提供的支付。Php日期驗證功能
有沒有辦法來檢查提交日期或通過某種使用修改後的對象屬性,會提醒用戶該日期無效的JavaScript類型?
任何幫助將是驚人的。謝謝! Rich
我在我的網站上有一個簡單的表單,要求輸入事件ID,日期和金額。我想確保用戶輸入的日期在未來10天以上。如果他們的活動少於10天,我不希望我的客戶在網上支付款項。一旦他們輸入信息,他們就會被引導到一個安全的網站,在那裏他們可以進行我的銀行提供的支付。Php日期驗證功能
有沒有辦法來檢查提交日期或通過某種使用修改後的對象屬性,會提醒用戶該日期無效的JavaScript類型?
任何幫助將是驚人的。謝謝! Rich
隨着HTML5,有一個爲日期輸入,這需要YYYY-MM-DD
格式作爲參數min
(和max
)屬性。
<input type="date" min="2017-09-01" name="my_date" />
然後,您可以使用PHP生成未來10天的日子,並通過PHP設置該日期。
<?php
$date = new DateTime("+10 days");
?>
<input type="date" min="<?= $date->format("Y-m-d"); ?>" name="my_date" />
這就是說,這隻會是客戶端。它不允許用戶在日期選擇器中選擇今天和未來10天之間的任何天數。 但是,它有可能規避這種情況 - 只是因爲客戶端上的任何東西都可以被操縱。這就是爲什麼你應該總是做什麼來自客戶端的服務器端驗證。使用DateTime對象,您可以直接比較它們,如下所示。
<?php
$date_input = new DateTime($_POST['my_date']);
$date_limit = new DateTime("+10 days");
if ($date_input > $date_limit) {
// Valid date! It's not in the next 10 days
}
答案當然是 「有」,總有一種方式。但要求這裏的人爲你寫代碼並不是真正的目的。請自己嘗試一下,並在卡住時發佈代碼。 – billynoah