验证一列的日期大于yii中另一列的日期

mcdcgff0  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(145)

我有一个有采购日期和到期日期的表单。我需要检查采购日期不应大于到期日期。我如何在模型中编写此验证规则?
我正在使用YII框架。我是这个框架的新手。

2lpgd968

2lpgd9681#

Yii2

如果被比较的列来自同一个表,则此方法应该有效。

public function rules()
{
    return [
            [
                ['date_end'], 
                'compare', 
                'compareAttribute' => 'date_start', 
                'operator' => '>=', 
                'type' => yii\validators\DateValidator::TYPE_DATE, 
                'message' => 'Date end has to be greater than date start', 
                'enableClientValidation' => false
            ],
            // other rules...
    ];
}

不要忘记将enableClientValidation设置为false,因为如果没有服务器端的请求,Yii2无法检查其他日期。
其他配置选项here
PS.我决定更新这个线程3+年后,因为它仍然是第一个StackOverflow结果对谷歌搜索这个论点。

du7egjpx

du7egjpx2#

尝试在此链接使用CompareValidator:比较一下。

相关问题