2016-11-03 22 views
2

我使用Laravel的dimsav translatable和proengsoft/laravel-jsvalidation包创建一个CRUD。 表单字段名称必须遵循这样的阵列结构...在Laravel 5.2中使用proengsoft/laravel-jsvalidation的数组类型表单字段的自定义验证属性

<div class="form-group"> 
    {!! Form::label("es[title]", trans("messages.title"), ["class" => "control-label"]) !!} 
    {!! Form::text("es[title]", getFormInput($entry, "title", $locale), ["class" => "form-control", "id" => "es[title]"]) !!} 
</div> 

为了能够在控制器上轻松使用质量asignment。

的创建形式被使用的createRequest验证如下...

{ 
    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'es.title' => 'required|max:255',   
     ]; 
    } 
} 

我不知道如何改变以更加友好的文本属性占位符的资源/郎/ validation.php文件。我试过以下选项...

'attributes' => [  
    'title' => 'título', 
    //'es.title' => 'título',  
    //'es[title]' => 'título',  
], 

...但他们中的任何一个都在工作。表单正在验证中,可以将字段'es.title'命名,但显示的错误消息并未正确替换字段名称,即使我将属性数组键也命名为'es.title'。有任何想法吗?

+0

我觉得proengsoft/laravel-jsvalidation是不是一个好的包装 – aleixfabra

回答

1

App/Http/Requests/YourRequest

public function messages() 
    { 
     return [ 
      'es.title.required' => 'You forgot título!', 
     ]; 
    } 

您可以为不同的验证规则(必填,最大等)

有关设置自定义名称为EDITED属性

public function attributes() 
{ 
    return [ 
     'es.title' => 'título' 
    ]; 
} 

设置不同的消息 全局设置属性名称请登录lang/en/validation,你会看到一个属性数组。根据您的要求更改它。

'attributes' => [ 
    'es' => [ 
     'title' => 'título' 
    ] 
], 
+0

感谢,但是这不是我想要的。我希望能够更改每个validation.php的attributes数组的字段名称。 –

+0

@HarleyFuagras更新了我的答案。请检查并确认它是否有效。 – shoieb0101

+0

是的,这就是我正在尝试,它不工作。你可以在我的问题的最后一段代码中看到它。 –

相关问题