2017-05-23 1 views
0

laravel documentation을 인용 :유효성 검사 오류 메시지가

을 마찬가지로, 배열 기반의 필드에 대한 단일 확인 메시지를 사용하도록에게 바람을 만드는 언어 파일 유효성 검사 메시지를 지정할 때 * 문자를 사용할 수 있습니다 :

'custom' => ['person.*.email' => ['unique' => 'Each person must have a unique e-mail address']]

작동하지 않는 것 같다. 내가 가진보기

$this->validate($request, [ 
    'infos.*.*.*' => 'required' 
]); 

그리고 :

<input type="text" name="infos[1234][0][name]"> 
<input type="text" name="infos[1234][1][name]"> 
<input type="text" name="infos[5678][0][name]"> 

그리고 내 컨트롤러에서

내가 입력의 유효성을 검사 :

'infos.*.*.*' => ['required' => 'My text'] 

그럼 내가보기에 몇 가지 입력을 가지고 : 나는 유효성 검사 메시지가 오류 표시기 :

@if (count($errors) > 0) 
    <strong>Oops. Errors:</strong> 
    <ul> 
     @foreach ($errors->all() as $error) 
     <li>{{ $error }}</li> 
     @endforeach 
    </ul> 
@endif 

그리고 모든 입력을 비워두면 :

My text 
My text 
My text 
My text 
My text 
etc. 

내 코드에 어떤 문제가 있습니까? Laravel 문서를 읽었습니다. 작동해야합니다 (즉, 한 번만 표시되었을 것입니다). 내가 오해 했나요?

+0

$ this-> validate ($ request, [ '정보. *. name'=> '필수' ]); ' –

+0

@AlivetoDie Ok이 예제는 단순화되었습니다. 나는'name'이라는 문자와'email'을 가진 문자를 가지고 있습니다. 그리고 나는 그것들을 모두 같은 유효성 검사기로 사용하고 싶습니다. –

+0

의도 한대로 작동합니다. 배열에 3 개의 입력을 보내면 실패합니다. 실패한 각 검증마다 하나씩 3 개의 오류 메시지가 나타납니다. – Sandeesh

답변

0

이것은 의도 한대로 작동합니다. 배열에 여러 입력을 전달하기 때문에 유효성 검사에서 각 항목에 대해 오류가 발생합니다. 따라서 2 개의 오류와 1 개의 통과를 갖는 3 개의 입력은 분명히 2 개의 입력에 대해 오류를 전달합니다. 그래서 여러 경우에 유효성 검사에 실패한 여러 입력으로 인해 오류가 발생합니다.

관련 문제