【问题标题】:Laravel : Need to dynamic validation rules (read from config file or setting)Laravel:需要动态验证规则(从配置文件或设置中读取)
【发布时间】:2019-02-01 17:11:32
【问题描述】:

我有这样的请求规则:

public function rules()
{
    return [
        'title' => 'required',
        'recipients' => 'required',
        'attachments' =>'mimes:jpeg,png,pdf,doc,xls|max:10410',
    ];
}

所以我正在寻找一种方法来使规则动态化,通过读取配置文件或从数据库中读取。

例如:

我制作了一个名为 setting 的辅助函数,它可以从我的数据库中加载设置,我想读取这些数据并按照我的规则进行设置,如下所示:

public function rules()
    {
        $max_upload_size = setting('max_document_upload_size'));
        return [
            'title' => 'required',
            'recipients' => 'required',
            'attachments' =>'mimes:jpeg,png,pdf,doc,xls|max:$max_upload_size',
        ];
    }

这有可能吗?或者我应该怎么做?

提前致谢。

【问题讨论】:

  • 这是可能的,但你必须添加变量,如 'mimes:jpeg,png,pdf,doc,xls|max:'.$max_upload_size

标签: laravel validation rule


【解决方案1】:

这个问题是指 PHP,而不是 Laravel。 There are many options to combine a string with a variable.

如果你需要对字符串进行很多设置,那么你可以使用这个语法:

return [
    'title' => 'required',
    'recipients' => 'required',
    'attachments' => "mimes:$mimes|max:$max_upload_size"
]

【讨论】:

    【解决方案2】:

    请写在 max 之后:'.

     public function rules()
            {
                $max_upload_size = setting('max_document_upload_size'));
                return [
                    'title' => 'required',
                    'recipients' => 'required',
                    'attachments' =>'mimes:jpeg,png,pdf,doc,xls|max:'.$max_upload_size',
                ];
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2012-01-29
      • 2019-01-20
      相关资源
      最近更新 更多