>

내가 아는 한, Laravel은 규칙에 대한 유효성 검사가 실패하면 422로 응답합니다.

'고유 한'과 같은 특정 규칙 실패에만 관심이 있다면 어떻게해야합니까? '고유 한'규칙으로 인해 특정 입력 필드가 유효성 검사에 실패하는지 어떻게 확인합니까?

  • 답변 # 1

    올바른 헤더를 보내는 한 여전히 모든 유효성 검사 오류가 발생합니다. 그렇지 않으면 422 를 얻지 못합니다. .

    확인 오류는 다음 형식으로 반환됩니다 :

    {
        errors: {
            field1: ["Field 1 must be unique", /* other failures */],
            // ... other fields
        },
        message: "The given data was invalid"
    }
    
    

    오류 코드 422  Laravel의 유효성 검사 실패로 반환되며 정확하며 실제로 오류가 있음을 나타냅니다.

    response.data 에 전화하면됩니다.  자바 스크립트의 응답 객체에서 반환 된 데이터에 액세스합니다 (적어도 Axios 사용).

  • 답변 # 2

    js 코드에서 json 매개 변수를 쉽게 반환 할 수 있지만 응답을 사용자 정의하려면 응답을 조작하는 방법이 있습니다 라 라벨 컨트롤러에서 필드의 유효성을 검사하는 경우

    컨트롤러에서 실패한 규칙의 반환 된 배열 내에서 특정 규칙을 확인하십시오.

    if ($validator->fails()) {
       $failedRules = $validator->failed();
       if(isset($failedRules['email_address']['Unique'])) {
       ...
    
    

    이러한 방식으로 실패를 발견하고 (이 예에서는 이메일 주소가 고유해야 함) 고유 한 조치를 수행하고 응답을 리턴합니다.

관련 자료

  • 이전 orm - 라 라벨 웅변 - 피벗 테이블과의 모델 관계
  • 다음 kafka s3 sink connect를 사용할 때 스키마 레지스트리를 사용하여 스키마를 얻을 수 있습니까?