Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以在Laravel5请求验证中为字段组应用相同的规则吗?_Php_Validation_Laravel_Optimization_Laravel 5 - Fatal编程技术网

Php 我可以在Laravel5请求验证中为字段组应用相同的规则吗?

Php 我可以在Laravel5请求验证中为字段组应用相同的规则吗?,php,validation,laravel,optimization,laravel-5,Php,Validation,Laravel,Optimization,Laravel 5,我正在使用laravel请求表单验证,我想对多个字段应用相同的规则。是否可以以任何简单的方式进行验证?或者需要单独编写代码。 下面给出了我的验证规则 protected $rules = [ 'phone' => ['max:11'], 'work_phone' => ['max:11'], 'mobile' => ['max:11'], ]; 我可以将这些字段分组到单个规则中吗?您可以在rules()方法中执行一些操作: public funct

我正在使用laravel请求表单验证,我想对多个字段应用相同的规则。是否可以以任何简单的方式进行验证?或者需要单独编写代码。 下面给出了我的验证规则

  protected $rules = [
    'phone' => ['max:11'],
    'work_phone' => ['max:11'],
    'mobile' => ['max:11'],
];

我可以将这些字段分组到单个规则中吗?

您可以在
rules()
方法中执行一些操作:

public function rules(){
    $phoneRules = ['max:11'];
    return [
        'phone' => $phoneRules,
        'work_phone' => $phoneRules,
        'mobile' => $phoneRules
    ]
}
或:

如果要使用其他规则验证其他属性,则需要以下内容:

public function rules(){
    $fields = ['phone', 'work_phone', 'mobile'];
    $phoneRules = array_fill_keys($fields, ['max:11']);
    $otherRules = [
        'foo' => 'required',
        'bar' => 'min:30'
    ]
    return array_merge($phoneRules, $otherRules);
}

您应该参考文档中的自定义验证规则部分,该部分正好解决了这个问题:

您究竟如何使用这些规则?据我所知,您应该有一个
rules()
方法返回它们。我可以看一下你的代码吗?我正在使用表单请求验证。它在Laravel5中,但不是在旧版本中。
public function rules(){
    $fields = ['phone', 'work_phone', 'mobile'];
    $phoneRules = array_fill_keys($fields, ['max:11']);
    $otherRules = [
        'foo' => 'required',
        'bar' => 'min:30'
    ]
    return array_merge($phoneRules, $otherRules);
}