Skip to content

Commit

Permalink
Validering
Browse files Browse the repository at this point in the history
  • Loading branch information
betsytraran committed Sep 12, 2023
1 parent d589054 commit 6e70d8e
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ Steg2.validation = Yup.object({
...PensjonForm.validation,
...TjenestepensjonForm.validation,
...AlderspensjonForm.validation,
...UforetrygdForm.validation,
}),
),
})
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { genererTilfeldigeNavPersonidenter } from '@/utils/GenererTilfeldigeNavP
import * as _ from 'lodash-es'
import { useNavEnheter } from '@/utils/hooks/useNorg2'
import { BarnetilleggForm } from '@/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm'
import { validation } from '@/components/fagsystem/uforetrygd/form/validation'

const uforetrygdPath = 'pensjonforvalter.uforetrygd'

Expand Down Expand Up @@ -83,9 +84,12 @@ export const UforetrygdForm = ({ formikBag }) => {
label={'NAV-enhet'}
size={'xxxlarge'}
options={navEnheter}
isClearable={false}
/>
</div>
</Panel>
</Vis>
)
}

UforetrygdForm.validation = validation
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import * as Yup from 'yup'
import { ifPresent, requiredNumber, requiredString } from '@/utils/YupValidations'
import { isFuture, isPast } from 'date-fns'
import { testDatoFom, testDatoTom } from '@/components/fagsystem/utils'

const erIkkeLik = () => {
return Yup.string().test(
'er-ikke-lik',
'Saksbehandler og attesterer kan ikke være samme person',
function testIdenter() {
const values = this.options.context
const { saksbehandler, attesterer } = values?.pensjonforvalter?.uforetrygd
if (!saksbehandler || !attesterer) {
return true
}
return saksbehandler !== attesterer
},
)
}

const datoErFremtidig = () => {
return Yup.date().test('er-fremtidig', 'Dato må være frem i tid', function validDate(dato) {
if (!dato) {
return true
}
return isFuture(dato)
})
}

const forventetInntekt = Yup.object({
datoFom: testDatoFom(datoErFremtidig().nullable(), 'datoTom', 'Dato må være før dato t.o.m.'), // Før datoTom, frem i tid???
datoTom: testDatoTom(datoErFremtidig().nullable(), 'datoFom', 'Dato må være etter dato f.o.m.'), // Etter datoFom, frem i tid???
inntektType: Yup.string().nullable(),
belop: Yup.number()
.nullable()
.transform((i, j) => (j === '' ? null : i)),
}).nullable()

export const validation = {
uforetrygd: ifPresent(
'$pensjonforvalter.uforetrygd',
Yup.object({
kravFremsattDato: Yup.date().nullable(),
onsketVirkningsDato: datoErFremtidig().nullable(), // Frem i tid
uforetidspunkt: Yup.date()
.test('er-historisk', 'Dato må være historisk', function validDate(dato) {
if (!dato) {
return true
}
return isPast(dato)
})
.nullable(), // Historisk
inntektForUforhet: requiredNumber.transform((i, j) => (j === '' ? null : i)), // Required
uforegrad: requiredNumber.transform((i, j) => (j === '' ? null : i)), // Required
minimumInntektForUforhetType: Yup.string().nullable(), // Not required
saksbehandler: erIkkeLik().nullable(), // Kan ikke være lik attesterer
attesterer: erIkkeLik().nullable(), // Kan ikke være lik saksbehandler
navEnhetId: requiredString, // Required
barnetilleggDetaljer: Yup.object({
barnetilleggType: requiredString,
forventedeInntekterSoker: Yup.array().of(forventetInntekt),
forventedeInntekterEP: Yup.array().of(forventetInntekt),
}).nullable(),
}),
),
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export const initialUforetrygd = {
minimumInntektForUforhetType: null,
saksbehandler: null,
attesterer: null,
navEnhetId: null,
navEnhetId: '4403',
barnetilleggDetaljer: null,
}

Expand Down

0 comments on commit 6e70d8e

Please sign in to comment.