Laravel에서 배열 유효성 검사
다음 코드를 사용하여 Laravel에서 배열의 유효성을 검사하려고 할 때:
$validator = Validator::make($request->all(), [ "name.*" => 'required|distinct|min:3', "amount.*" => 'required|integer|min:1', "description.*" => "required|string" ]);
빈 POST 제출이 유효한 것으로 잘못 인식되어 잘못된 오류가 발생하는 예기치 않은 시나리오가 발생할 수 있습니다. 긍정적입니다.
이러한 혼란은 코드의 별표 기호(*)가 배열 자체가 아닌 배열 내의 값을 확인하기 위한 것이기 때문에 발생합니다. 이 문제를 해결하려면 배열이 있는지 확인하도록 유효성 검사 규칙을 수정해야 합니다.
$validator = Validator::make($request->all(), [ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
이 조정된 코드에서:
Laravel 5.5부터는 단순화된 접근 방식을 사용할 수 있습니다.
$data = $request->validate([ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
이 간결한 구문은 객체를 요청하면 $validator 중개자가 필요하지 않습니다.
위 내용은 Laravel에서 배열을 검증하는 방법: 빈 제출 및 모범 사례?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!