在laravel中验证json数据的唯一字段。

问题描述 投票:0回答:1

我有一个json请求,里面有household_data。我试着在family_no这个唯一的字段上使用验证器,我正在处理的json是:

 [
    {
       "BasicInfo": {
                "ward": "12",
                "tole_name": "Sahayogi Nagar",
                "house_no": "21",
                "family_no": "420",
                "district": "Lalitpur",
            },
            "Family": [
                {
                    "caste": "bahun",
                    "religion": "hindu",
                }
            ]
}]

但验证器总是失败,即使family_no是唯一的或不是,并返回。

{
    "family_no": [
        "The family no field is required."
    ]
}

这是我的控制器代码。

$items = json_decode($request->household_data);
        // return json_decode($request->household_data);
        if($request->household_data){
            $validator = Validator::make($items, [
                'family_no' => 'required|unique:households|max:255',
            ]);
            if ($validator->fails()) {
                return response()->json($validator->errors(), 404);
            }

            else{
                foreach($items as $key=>$item){
                    $householdId = $this->saveHousehold($item);
                    return $householdId;
                }
            }

        }

有谁能帮我验证一下family_no这个唯一的字段?

validation unique
1个回答
0
投票

在doc webiste上查看laravel的数组验证器。https:/laravel.comdocs7.xvalidation#validating-arrays。. 但为了让你的验证,你必须这样写。

{
    "BasicInfo.family_no": [
        "The family no field is required."
    ]
}
© www.soinside.com 2019 - 2024. All rights reserved.