加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

zend-framework – 使用Zend Framework验证日期是否大于或等于今

发布时间:2020-12-13 21:36:10 所属栏目:PHP教程 来源:网络整理
导读:$form = new Zend_Form();$mockDate = new Zend_Form_Element_Text('mock');$mockDate-addValidator(???????);$form-addElements(array($mockDate));$result = $form-isValid();if ($result) echo "YES!!!";else echo "NO!!!"; 假设元素采用日期格式.如何确
$form = new Zend_Form();

$mockDate = new Zend_Form_Element_Text('mock');

$mockDate->addValidator(???????);

$form->addElements(array($mockDate));

$result = $form->isValid();

if ($result) echo "YES!!!";
else echo "NO!!!";

假设元素采用日期格式.如何确定给定的日期大于或等于今天?

解决方法

您可以创建一个简单的验证器来执行此操作:

class My_Validate_DateGreaterThanToday extends Zend_Validate_Abstract
{
    const DATE_INVALID = 'dateInvalid';

    protected $_messageTemplates = array(
        self::DATE_INVALID => "'%value%' is not greater than or equal today"
    );

    public function isValid($value)
    {
        $this->_setValue($value);

        $today = date('Y-m-d');

        // expecting $value to be YYYY-MM-DD
        if ($value < $today) {
            $this->_error(self::DATE_INVALID);
            return false;
        }

        return true;
    }
}

并将其添加到元素:

$mockDate->addValidator(new My_Validate_DateGreaterThanToday());

您可能希望使用Zend_Date检查日期以确定日期和其他好处的本地化.

要创建自定义验证,请查看Zend手册中的writing validators.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读