2016-10-06 4 views
1

검사기 사용자 정의 메시지는 무시 :LARAVEL 5.3 - 내 로그인 후 방법에있어

$validator = Validator::make(
    $request->all(), 
    [ 
     'user' => 'required', 
     'password' => 'required' 
    ],[ 
     'user' => 'Username is required', 
     'password' => 'Password is required' 
    ] 
); 

을하지만 'password.required' => 'Password is required''password' => 'Password is required'을 변경하지 않는 한, 사용자 정의 메시지가 무시되고 기본이보기로 전송됩니다.

정말로 메시지에서 규칙을 지정해야합니까, 아니면 잘못하고 있습니까?

답변

0

Laravel은 사용자 정의 메시지에 처음보고는 하나를 찾을 수없는 경우 다음 정상 검증 메시지를 다시 떨어진다.

'password' => 'Password is required'은 필수 인증을위한 것이 아닙니다. 그래서 기본 메시지가 작동합니다. 특정 오류 유형에 대한 사용자 정의 메시지를 작성해야합니다.

예 : 암호가 필요하며 또한 정수 다음

$validator = \Validator::make(
     $request->all(), 
     [ 
      'password' => 'required|integer' 
     ],[ 
      'password.integer' => 'Password needs to be interger', 
      'password.required' => 'Password is required' 
     ] 
); 

주의해야한다 : 당신은 또한 validation.php 파일에 사용자 정의 메시지를 설정하고 사용자 정의 배열에 메시지를 추가 할 수 있습니다. 그러면 사용자 정의 메시지를 전 세계적으로 사용할 수 있습니다.

'custom' => [ 
    'attribute-name' => [ 
     'rule-name' => 'custom-message', 
    ], 
] 
+0

사용자 정의 메시지는 기본 메시지보다 우선해야합니다. 일반 메시지가 아닌지 확인해야합니다. –

0

정말로 메시지의 규칙을 지정해야합니까, 아니면 무언가 잘못 되었습니까?

'필수'규칙에 이미 기본 메시지가 있습니다. 당신은 단순히 그것을 떠날 수 있습니다. 그래서이 작동합니다 :

$validator = Validator::make(
    $request->all(), 
    [ 
     'user' => 'required', 
     'password' => 'required' 
    ] 
); 

https://laravel.com/docs/5.3/validation#working-with-error-messages

+0

기본 메시지를 사용하고 싶지 않습니다. –

0

내 생각은 EN 같은 특정 언어에 대한 LANG 폴더에 생성되고, 요청에 대한 새 파일을 ES 지정된 양식 작성 요청 모델에이를 사용.