validation - 如何在 Laravel 中为嵌套输入设置自定义属性标签

标签 validation laravel laravel-5.1

我正在尝试在错误消息中获取自定义标签。我的输入是嵌套的,我可以使用点符号(例如 POLICY.HOLDER.NAME )来验证它们。它们必须嵌套并且全部大写以匹配 db 结构,以便我可以轻松地对它们进行批量分配。

'attributes' => ['POLICY.HOLDER.NAME' => 'Policy Holder'] 中使用相同的符号在 resources/lang/en/validation.php没有结果。

我只是想让它们与我在表单中设置的标签相匹配。

app/Http/Controllers/OfferController.php(只是有趣的部分)

public function postOffer(OfferRequest $request) { //
    $post_data = $request->all();
    if (isset($post_data['POLICY'])) {
        // code to get data from $_POST and assign to models
    }
}

应用程序/Http/Requests/OfferRequest.php
<?php 
namespace App\Http\Requests;

use App\Http\Requests\Request, Auth;

class OfertaRequest extends Request
{

    public function authorize() {
        return Auth::check();
    }

    public function rules()
    {
        return [
            'POLICY.HOLDER.NAME' => 'required',
        ];
    }

    public function forbiddenResponse()
    {
        return Response::make('Permission denied foo!', 403);
    }

}

资源/lang/en/validation.php
'attributes' => [
    'POLICY.HOLDER.NAME' => 'Some custom string here...',
],

如您所见,我尝试在自定义验证属性数组中添加输入名称但没有成功。这是我将输入留空时收到的错误消息:

The p o l i c y. h o l d e r. n a m e field is required.



注意空格。我也试过了,没用。

最佳答案

将其显式声明为嵌套数组:

'attributes' => [
    'POLICY' => [
        'HOLDER' => [
            'NAME' => 'Some custom string here...',
        ]
    ]
],

关于validation - 如何在 Laravel 中为嵌套输入设置自定义属性标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32761230/

相关文章:

javascript - 在 JS 验证中 - 试图从文本框中删除空格,但得到未定义的值

regex - 使用正则表达式验证电子邮件地址会造成伤害吗?

asp.net-mvc-3 - 将值传递回 Controller 时的ASP.NET MVC日期时间区域性问题

database - Config::set() 将连接设置为不需要的设置

php - 拉维尔 5.1 : Ajax data is not receiving from server

c - 如何从用户那里得到一个号码

php - Laravel Carbon 返回错误的时间

php - 从 whereIn 获取重复项 - Laravel

php - Laravel Collection 方法 has() 和 contains() 的区别

php - 如何返回对象数组的响应