php - Yii2:基于两种模型的日期自定义验证

标签 php yii2 customvalidator

我有两个模型 Patient Admission 有两列,例如 admission_datedischarge_date 和另一个模型 daily_ward_entry 有一个日期字段只说 date 两个模型都与 ipd_patient_id

相关

现在我想要的是创建一个或两个验证器,以便我可以限制 daily_ward_entry between admission_date出院日期

我查看了compare validator,但我不知道如何替换要与另一个具有关系的模型的属性进行比较的值。

我尝试了以下变体,但它总是抛出错误:

变化一

[$this->discharge_date, 'compare', 'compareValue' => $this->admission_date, 
'operator' => '>='],

错误 - Unknown Property – yii\base\UnknownPropertyException

变体二

['discharge_date', 'compare', 'compareValue' => 'admission_date', 'operator' => '>='],

错误 - 出院日期必须大于或等于“admission_date”。无论日期是早于还是晚于,都会生成此错误

变化三

[strtotime($this->discharge_date), 'compare', 'compareValue' =>
strtotime($this->admission_date), 'operator' => '>='],

错误 - Unknown Property – yii\base\UnknownPropertyException

我需要一些指导和帮助。 谢谢。

最佳答案

在这种情况下,您必须执行自定义验证。在自定义函数中,您将在 POST 中获取所有模型数据,因此您可以获取数据并执行验证。

关于php - Yii2:基于两种模型的日期自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29175853/

相关文章:

php - 自动更新$_SESSION[余额]?

Yii2 REST 在 POST、PUT 等上给出 405

php - Yii2:无法执行应用程序。 Apache 显示 "Index of"

ASP.NET CustomValidator 不工作

php - 从 4 输入表单创建 MySQL 插入和更新循环

php - 带有 ISP Config 3 的 Centos 6.4 中 phpmyadmin 的主 php.ini 文件

php - 为什么我的 float 大于 1 时在 MYSQL 中存储为 .9999?

mysql - Yii2:防止 ActiveRecord 属性中的空字符串

jquery - CustomValidator 的问题

jquery - asp.net CustomValidator 服务器端不会停止我的程序?