使用 Laravel 5.2 中的 proengsoft/laravel-jsvalidation 的数组类型表单字段的自定义验证属性
Custom Validation Attributes for Array Type Form Fields using proengsoft/laravel-jsvalidation in Laravel 5.2
我正在使用 dimsav 可翻译和 proengsoft/laravel-jsvalidation 包为 Laravel 创建一个 CRUD。
表单字段名称必须遵循这样的数组结构...
<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>
为了能够在控制器上轻松使用质量分配。
正在使用 CreateRequest 验证创建表单,如下所示...
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'es.title' => 'required|max:255',
];
}
}
我不知道如何在 resources/lang/validation.php 文件中用更友好的文本更改属性占位符。我尝试了以下选项...
'attributes' => [
'title' => 'título',
//'es.title' => 'título',
//'es[title]' => 'título',
],
...但是它们中的任何一个都在工作。正在验证表单,命名字段 'es.title',但显示的错误消息没有正确替换字段名称,即使我也将属性数组键命名为 'es.title'。有什么想法吗?
里面App/Http/Requests/YourRequest
public function messages()
{
return [
'es.title.required' => 'You forgot título!',
];
}
您可以为不同的验证规则设置不同的消息(required,max etc)
为属性设置自定义名称
public function attributes()
{
return [
'es.title' => 'título'
];
}
已编辑
要全局设置属性名称,请转到 lang/en/validation
,您将看到一个属性数组。根据您的要求更改它。
'attributes' => [
'es' => [
'title' => 'título'
]
],
我正在使用 dimsav 可翻译和 proengsoft/laravel-jsvalidation 包为 Laravel 创建一个 CRUD。 表单字段名称必须遵循这样的数组结构...
<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>
为了能够在控制器上轻松使用质量分配。
正在使用 CreateRequest 验证创建表单,如下所示...
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'es.title' => 'required|max:255',
];
}
}
我不知道如何在 resources/lang/validation.php 文件中用更友好的文本更改属性占位符。我尝试了以下选项...
'attributes' => [
'title' => 'título',
//'es.title' => 'título',
//'es[title]' => 'título',
],
...但是它们中的任何一个都在工作。正在验证表单,命名字段 'es.title',但显示的错误消息没有正确替换字段名称,即使我也将属性数组键命名为 'es.title'。有什么想法吗?
里面App/Http/Requests/YourRequest
public function messages()
{
return [
'es.title.required' => 'You forgot título!',
];
}
您可以为不同的验证规则设置不同的消息(required,max etc)
为属性设置自定义名称
public function attributes()
{
return [
'es.title' => 'título'
];
}
已编辑
要全局设置属性名称,请转到 lang/en/validation
,您将看到一个属性数组。根据您的要求更改它。
'attributes' => [
'es' => [
'title' => 'título'
]
],