Skip to content
Snippets Groups Projects

Add fnr validation component

Merged Andreas Ellewsen requested to merge GREG-48-validatefnr into master
All threads resolved!
6 files
+ 122
3
Compare changes
  • Side-by-side
  • Inline
Files
6
import { useForm } from 'react-hook-form';
import React from 'react'
import validator from '@navikt/fnrvalidator'
import validator from '@navikt/fnrvalidator'
 
import { UseFormReturn } from "react-hook-form";
const isValidIdnr = (data: string) => {
export function isValidIdnr(data: string) {
const validationResult = validator.idnr(data)
const validationResult = validator.idnr(data)
return validationResult.status === "valid"
return validationResult.status === "valid"
}
}
 
interface FnrProps
 
extends Partial<Pick<UseFormReturn, "register">> {
 
name: string
 
label?: string
 
errors?: any
 
}
function Fnr() {
export default function Fnr(props: FnrProps) {
const { register, handleSubmit, formState: { errors } } = useForm();
const { register, name, errors, ...rest } = props
 
if (register === undefined) {
 
return <></>
 
}
return <form onSubmit={handleSubmit((data) => { console.log(data) })}>
return <>
<label htmlFor="fnr">Fnr: </label>
<input type="text" placeholder="fnr" {...register(name, { required: "Fnr is required", validate: isValidIdnr })} id="fnr" />
<input type="text" placeholder="fnr" {...register("fnr", { required: "Fnr is required", validate: isValidIdnr })} id="fnr" />
{errors.fnr && errors.fnr.message}
{errors.fnr && errors.fnr.message}
{errors.fnr && errors.fnr.type === "validate" && 'Invalid fnr'}
{errors.fnr && errors.fnr.type === "validate" && 'Invalid fnr'}
<br />
</>
<input type="submit" />
</form >
}
}
export default Fnr
Loading