如果用户选择过去的日期,则验证日期字段

时间:2018-02-03 13:52:49

标签: php html

在我发布之前,我想澄清一下我已经检查过以前的线程,并且我知道他们已经过去了解这个特定问题的解决方案。但是,在实现我自己的版本后,我不断收到错误,所以想知道是否有适合我情况的更好的风格。

继承我的代码:

PHP:

$startDate=$_POST['startDate'];
$newDate = date("dd-mm-yyyy", strtotime($startDate));
$now = new DateTime();

if ($newDate< $now) {

    $dateErr = "*Please ensure you select a valid date";
}

html(这是实际表格中的一部分):

<div class="form-group">
        <label class="control-label col-sm-2" for="startDate"> Start Date:</label>
        <div class="col-sm-10">
         <input type="date" name="startDate">
        <span class="error"> <?php 
        if (isset($dateErr)) {
        echo $dateErr;
        } 
        ?></span>
    </div>
</div>  

我甚至尝试从其中一个主题应用此类示例:https://eval.in/private/422a20b3661d4b

但它一直给我一些跟踪错误,就像它无法识别日期一样?

1 个答案:

答案 0 :(得分:1)

您必须比较相同类型的值,$now似乎未定义。

尝试这样的事情:

$startDate = $_POST['startDate'] ;
$newDate = strtotime($startDate) ;

if ($newDate < time()) {

    $dateErr = "*Please ensure you select a valid date";
}