gpt4 book ai didi

CakePHP:验证用户是否超过 13 岁

转载 作者:行者123 更新时间:2023-12-02 22:34:59 26 4
gpt4 key购买 nike

我的模型中有以下验证规则:

'dob' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Date of Birth is required'
),
'age' => array(
'rule' => array('comparison', '>=', 13),
'message' => 'You must be over 13 years old'
)
)

我想要实现的是验证用户是否超过 13 岁......

日期是这样创建的:

<?php echo $this->Form->input('Profile.dob', array('label' => 'Date of Birth'
, 'dateFormat' => 'DMY'
, 'minYear' => date('Y') - 110
, 'maxYear' => date('Y') - 13)); ?>

我该怎么做呢?由于保存的数据是日期而不是整数,所以我的比较不起作用...在这里寻找最简单的解决方案,而不回复插件或其他外部 Assets ,如果可能的话,只需要一些简单的代码。

谢谢。

编辑:所以根据下面的评论我添加了:

public function checkDOB($check) {
return strtotime($check['dob']) < strtotime();
}

但是我应该在 strtotime 中输入什么来检查年龄是否大于或等于 13 岁?

最佳答案

在您的模型中创建自定义验证规则:

public function checkOver13($check) {
$bday = strtotime($check['dob']);
if (time() < strtotime('+13 years', $bday)) return false;
return true;
}

这使用了 strtotime 的简洁功能这让您可以轻松地计算特定日期的日期。

使用规则:

'dob' => array(
'age' => array(
'rule' => 'checkOver13',
'message' => 'You must be over 13 years old'
)
)

关于CakePHP:验证用户是否超过 13 岁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com