Synkrone valideringsfeil

Synkrone (via HTTP) valideringsfeil oppgis som svar med statuskode 400 på innsendelse mot API-et. Årsaken til valideringsfeilen returneres som innhold (body) i svaret. Når man får synkrone valideringsfeil blir innsendingen avvist umiddelbart og ikke behandlet videre før feilen(e) er rettet og det sendes inn på nytt. Dersom det ikke er noen synkrone valideringsfeil, vil svaret ha statuskode 202 og inneholde et felt "requestId" som benyttes for så å se om det avdekkes asynkrone valideringsfeil under videre behandling.

Innholdsformat på synkrone valideringsfeil

Valideringsfeilene returneres som en eller flere objekter i en liste "validationErrors". Innholdet i listen er et eller flere objekter som peker på hvilke felter som forårsaket valideringsfeilen angitt i feltet "field", og årsaken til feilen angitt i feltet "error".

{
  "validationErrors": [
    {
      "field": "${fieldWithErrorOne}",
      "error": "${validationErrorCauseOne}"
    },
    {
      "field": "${fieldWithErrorTwo}",
      "error": "${validationErrorCauseTwo}"
    }
  ]
}

 




Manglende eller blanke ("") påkrevde felt

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "must not be null"
    },
    {
      "field": "${fieldname}",
      "error": "must not be blank"
    }
  ]
}

Årsak

Felter som er påkrevd mangler eller har tomme verdier. Felter som ikke kan ha tomme verdier vil gi "must not be blank" enten de mangler eller er tomme. Alle andre påkrevde felter vil gi "must not be null" om de mangler.

Rettelse

Feltet må være med ("must not be null") eller må være med og ha en verdi ("must not be blank").

Feil format på dato/tid

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "invalid ISO-8601 instant in UTC (yyyy-MM-ddTHH:mm:ssZ)"
    }
  ]
}

Årsak

Dato og tidspunkt felter har feil format. De må følge ISO-8601 standarden. Det vil si være i formatet: yyyy-MM-ddTHH:mm:ssZ

Rettelse

Endre formatet til å følge ISO-8601 standarden i formatet yyyy-MM-ddTHH:mm:ssZ.

Feil feltstørrelse – tall

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "numeric value out of bounds (<${maxInteger} digits>.
                <${maxDecimalNumber} digits> expected)"
    }
  ]
}

Årsak

Man har angitt et tall som overskrider maksimalt antall siffer før elleretter desimalskille ("."). Der det er kun heltall som er tillat vil tallet etter desimalskille (".", det vil si maxDecimalNumber) være 0.

Rettelse

Endre tallet til å være et siffer innenfor maksimalt heltall (maxInteger-verdien) og maksimalt antall desimalsiffer (maxDecimalNumber-verdien).

Feil feltstørrelse – streng (tekst)

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "size must be between ${minLength} and ${maxLength}"
    }
  ]
}

Årsak

Innholdet i feltet har overskredet maksimalt antall tegn eller har færre enn minimum antall tegn.

Rettelse

Endre innholdet til å være innenfor minimum og maksimum størrelse.

Minst ett av feltene må være oppgitt

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "At least one of the following fields should be non null:
                [${fieldOne}, ${fieldTwo}]"
    }
  ]
}

Årsak

I noen tilfeller må minst et av flere felter være oppgitt. Objektet angitt (fieldname), må minst inneholde verdi i minst ett av de angitte feltene.

Rettelse

Påse at minst ett av de oppgitte feltene er oppgitt og har gyldig verdi på objektet.

Må ha en av angitte verdier

Svar

{
  "validationErrors": [
    {
      "field": "${fieldname}",
      "error": "Must be one of [${valueOne}, ${valueTwo}]"
    }
  ]
}

Årsak

Feltet (fieldname) må ha verdi og kan kun ha en av de angitte verdiene.

Rettelse

Send inn feltet med en av de angitte verdiene.