如何在注册时检查用户的年龄?我想将最小年龄设置为13岁。我要求输入用户的出生日期,当我验证其他凭据时,我想检查他们是否确实为13岁以上。
我的用户模型摘录如下:
$rules = [
'name' => 'required|alpha|min:1',
'email' => 'required|email|unique:users',
'dob' => 'required|date'
];
如何检查输入的日期是否在13年前或更早?
我已经看到我可以使用Laravel文档中的before:yyy-mm-dd
规则,如下所示:
$rules = [
'name' => 'required|alpha|min:1',
'email' => 'required|email|unique:users',
'dob' => 'required|date|before:2001-04-15'
];
1.如何计算价值?
1.如何在规则中使用该值?
5条答案
按热度按时间eoigrqb61#
检查日期是否大于(早于)N年的简单方法是将
before
规则设置为 * 减去N* 年。jfgube3f2#
您可以使用Laravel附带的Carbon
ulydmbyx3#
RMcLeod的答案是可以的,但我建议您将其提取为自定义规则:
这样你就可以对任何年龄段的人使用这个规则:
noj0wjuj4#
这是一个有点老,但我想分享我做它的方式。
使用
before
很不错,但对最终用户来说有点难看,因为如果今天是他的生日,他将无法通过。使用before_or_equal
,您将获得完美的行为。如果您的目标受众是世界各地的用户,一种改进方法是使用Carbon检查时区。7kjnsjlb5#
我已经成功地实现了这一点,您可以使用
现在()-〉子年份(18)-〉到日期字符串()