Laravel自定义时间验证

时间:2014-12-22 19:38:19

标签: validation laravel laravel-4

对于我的laravel 4.2项目,我允许用户为他们公司设置开放时间。他们给出的格式是01:01小时:分钟,所以最大值是23:59。 验证我无法检查数字或alpha时,如何确认输入是否与格式相似?我想我应该做一个自定义验证器,但我真的不了解laravel的文档,并且堆栈帖子给出了不同的解决方案,但似乎也没有遵循文档。 link to the docs.

1 个答案:

答案 0 :(得分:1)

我不知道你对这些文档有什么看法。试试这个:(代码未经测试)

Validator::extend('time', function($attribute, $value, $parameters)
{
    $parts = explode(':', $value);
    if(count($parts) > 2){
        return false;
    }
    $hours = $parts[0];
    $minutes = $parts[1];
    if($hours >= 0 && $hours < 24 && $minutes >= 0 && $minutes < 60 && is_numeric($hours) && is_numeric($minutes)){
        return true;
    }
    return false;
});