首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel 5中使用输入数组进行验证定位?

在laravel 5中使用输入数组进行验证定位?
EN

Stack Overflow用户
提问于 2017-10-23 12:27:48
回答 3查看 1.5K关注 0票数 5

对于可以添加和修改字段的动态形式:

表格()

代码语言:javascript
复制
<input name="gallery[1][title]">
<input name="gallery[1][text]">
.
.
.
<input name="gallery[n][title]">
<input name="gallery[n][text]">

用于验证的控制器中的

代码语言:javascript
复制
'gallery.*.file' => 'nullable|image',
'gallery.*.title' => 'nullable|string',

本地化文件中的

我不知道会有多少人在数组里。

代码语言:javascript
复制
'gallery.*.text' =>  'text of gallery 1',
'gallery.*.title' =>  'title of gallery 1',

我怎么写呢?

我想得到这样的结果:

第一展厅名称 。 。 。 画廊名称n

EN

回答 3

Stack Overflow用户

发布于 2017-10-23 13:18:08

这是一种很麻烦的方法。不幸的是,laravel目前不支持为特定令牌添加通用消息替换器,因此您可以这样做:

在主计长:

代码语言:javascript
复制
$replacer = function ($message, $attribute) {
    $index = array_get(explode(".",$attribute),1);
    $message = str_replace(":index",$index,$message);
    //You may need to do additional replacements here if there's more tokens
    return $message;
}
$this->getValidationFactory()->replacer("nullable", $replacer);
$this->getValidationFactory()->replacer("string", $replacer);
$this->getValidationFactory()->replacer("image", $replacer);
$v = $this->getValidationFactory()->make($request->all(), $rules);
if ($v->fails()) {
   $this->throwValidationException($request, $v); //Simulate the $this->validate() behaviour
}

您还可以在服务提供者中添加替换程序,使它们在所有路由中都可用,但不幸的是,您需要为希望它们可用的每条规则注册它们。

在本地化文件中:

代码语言:javascript
复制
'gallery.*.text' =>  'text of gallery :index',
'gallery.*.title' =>  'title of gallery :index',
票数 1
EN

Stack Overflow用户

发布于 2020-08-07 13:54:35

laravel 7的更新

您的语言/validation.php

es it/validation.php

代码语言:javascript
复制
'attributes' => [
       'gallery.*.file' => 'Your custom message!!',
    ],
票数 1
EN

Stack Overflow用户

发布于 2017-10-23 13:18:54

需要修改表单和控制器验证。

在形式上

代码语言:javascript
复制
 {!! Form::open(['url' => 'actionURL']) !!}
    {{ csrf_field() }}
      <input name="gallery[]">

    {!! Form::close() !!}

在控制器中

代码语言:javascript
复制
  foreach ($request->gallery as $key => $gallery) {        
       $validator = Validator::make(array('gallery => $gallery),
                array('gallery' => 'required'));        
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46889380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档