Skip to content
Snippets Groups Projects

Add fnr validation component

Merged Andreas Ellewsen requested to merge GREG-48-validatefnr into master
All threads resolved!
Files
5
import React from 'react'
import validator from '@navikt/fnrvalidator'
import { UseFormReturn } from "react-hook-form";
import { UseFormReturn } from 'react-hook-form'
export function isValidIdnr(data: string) {
const validationResult = validator.idnr(data)
return validationResult.status === "valid"
const validationResult = validator.idnr(data)
return validationResult.status === 'valid'
}
interface FnrProps
extends Partial<Pick<UseFormReturn, "register">> {
name: string
label?: string
errors?: any
interface FnrProps extends Partial<Pick<UseFormReturn, 'register'>> {
name: string
errors?: any
}
export default function Fnr(props: FnrProps) {
const { register, name, errors, ...rest } = props
if (register === undefined) {
return <></>
}
function Fnr(props: FnrProps) {
const { register, name, errors } = props
if (register === undefined) {
return <></>
}
return <>
<input type="text"
placeholder={name}
{...register(name, { required: "Fnr is required", validate: isValidIdnr })}
id="fnr"
/>
{errors.fnr && errors.fnr.message}
{errors.fnr && errors.fnr.type === "validate" && 'Invalid fnr'}
return (
<>
<input
type="text"
placeholder={name}
// eslint-disable-next-line react/jsx-props-no-spreading
{...register(name, {
required: 'Fnr is required',
validate: isValidIdnr,
})}
id="fnr"
/>
{errors.fnr && errors.fnr.message}
{errors.fnr && errors.fnr.type === 'validate' && 'Invalid fnr'}
</>
)
}
Fnr.defaultProps = {
errors: {},
}
export default Fnr
Loading