为了账号安全,请及时绑定邮箱和手机立即绑定

如何验证 Laravel 中的 cron 表达式?

如何验证 Laravel 中的 cron 表达式?

PHP
潇潇雨雨 2022-01-08 17:20:20
有什么方法可以验证用户在 Laravel 中创建的 cron 表达式?
查看完整描述

2 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

在 laravel 6 中,你不需要任何额外的模块。


最简单的方法是在AppServiceProvider类中扩展 Validator 对象:


public function boot() {

    //  ...


    Validator::extend('cron', function ($attribute, $value, $parameters, $validator) {

        return CronExpression::isValidExpression($value);

    });

}


查看完整回答
反对 回复 2022-01-08
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

不是开箱即用的,但有一个用 PHP 编写的美妙的cron 表达式解析器。


composer require dragonmantank/cron-expression 安装


然后你需要创建一个自定义规则 php artisan make:rule Cron


现在,只需调用isValidExpression()的passes()方法,像这样。


public function passes($attribute, $value)

{

    return CronExpression::isValidExpression($value);

}

不要忘记留言


public function message()

{

    return 'The :attribute field must be a valid cron expression.';

}

为了使用它,您可以在表单请求中传递规则的实例


public function rules()

{

    return [

        'cron' => [new Cron],

    ];

}


查看完整回答
反对 回复 2022-01-08
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信