Yii2 如何添加检查给定日期是否超过6天的规则?

Yii2 如何添加检查给定日期是否超过6天的规则?,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我正在使用yii2basic,我正在尝试添加一个规则,该规则将比较用户给出的日期,如果超过6天,则给出错误 我该怎么做呢?我现在使用datepicker输入日期,我使用的格式是:format'=>'d-mm-yyyy Model.php <?php namespace app\models; use Yii; /** * This is the model class for table "invoices". * * @property integer $id * @pro

我正在使用yii2basic,我正在尝试添加一个规则,该规则将比较用户给出的日期,如果超过6天,则给出错误

我该怎么做呢?我现在使用datepicker输入日期,我使用的格式是:format'=>'d-mm-yyyy

Model.php

<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "invoices".
 *
 * @property integer $id
 * @property string $invoice_number
 * @property string $invoice_loadamount
 * @property string $invoice_date
 * @property integer $archive_id
 * @property string $DateProcessed
 *
 * @property Archive $archive
 */
class Invoices extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'invoices';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['invoice_number', 'invoice_loadamount', 'invoice_date'], 'required'],
            [['archive_id', 'invoice_number', 'invoice_loadamount'], 'integer'],
            [['DateProcessed'], 'safe'],            
            [['invoice_number', 'invoice_loadamount', 'invoice_date'], 'string', 'max' => 100],

        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'invoice_number' => 'Invoice Number',
            'invoice_loadamount' => 'Invoice Loadamount',
            'invoice_date' => 'Invoice Date',
            'archive_id' => 'Archive ID',
            'DateProcessed' => 'Date Processed'];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getArchive()
    {
        return $this->hasOne(Archive::className(), ['id' => 'archive_id']);
    }

}
您可以将核心验证器用于:

  • 属性,指定接受日期范围的下限
  • 属性来指示所使用的日期格式
添加以下内容:

[['DateProcessed'], 'date', 'format' => "dd-MM-yyyy", 'min' => date("d-m-Y", strtotime('-6 days'))],