Skip to content
Snippets Groups Projects
Commit 15ca5e7f authored by Tore.Brede's avatar Tore.Brede
Browse files

GREG-60: Adding validation of phone number

parent 9e39a2cd
No related branches found
No related tags found
1 merge request!81GREG-60: Mobile phone validation
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
"i18next": "^20.6.0", "i18next": "^20.6.0",
"i18next-browser-languagedetector": "^6.1.2", "i18next-browser-languagedetector": "^6.1.2",
"i18next-http-backend": "^1.3.1", "i18next-http-backend": "^1.3.1",
"libphonenumber-js": "^1.9.35",
"react": "^17.0.2", "react": "^17.0.2",
"react-datepicker": "^4.2.1", "react-datepicker": "^4.2.1",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
...@@ -13861,6 +13862,11 @@ ...@@ -13861,6 +13862,11 @@
"node": ">= 0.8.0" "node": ">= 0.8.0"
} }
}, },
"node_modules/libphonenumber-js": {
"version": "1.9.35",
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.35.tgz",
"integrity": "sha512-6ok1JD4GcU7owpbp07WJZlxoGdlY538OCgN9fmOlWwCzqPNLzra7tvaFz7NJP8Hcmp1lkm97wNZ2hICN9uGylg=="
},
"node_modules/lines-and-columns": { "node_modules/lines-and-columns": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
...@@ -33050,6 +33056,11 @@ ...@@ -33050,6 +33056,11 @@
"type-check": "~0.4.0" "type-check": "~0.4.0"
} }
}, },
"libphonenumber-js": {
"version": "1.9.35",
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.35.tgz",
"integrity": "sha512-6ok1JD4GcU7owpbp07WJZlxoGdlY538OCgN9fmOlWwCzqPNLzra7tvaFz7NJP8Hcmp1lkm97wNZ2hICN9uGylg=="
},
"lines-and-columns": { "lines-and-columns": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"i18next": "^20.6.0", "i18next": "^20.6.0",
"i18next-browser-languagedetector": "^6.1.2", "i18next-browser-languagedetector": "^6.1.2",
"i18next-http-backend": "^1.3.1", "i18next-http-backend": "^1.3.1",
"libphonenumber-js": "^1.9.35",
"react": "^17.0.2", "react": "^17.0.2",
"react-datepicker": "^4.2.1", "react-datepicker": "^4.2.1",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
......
...@@ -48,7 +48,8 @@ ...@@ -48,7 +48,8 @@
"invalidIdNumber": "Invalid national ID number", "invalidIdNumber": "Invalid national ID number",
"nationalIdNumberRequired": "National ID number required", "nationalIdNumberRequired": "National ID number required",
"roleTypeRequired": "Role type is required", "roleTypeRequired": "Role type is required",
"roleEndRequired": "Role end date is required" "roleEndRequired": "Role end date is required",
"invalidMobilePhoneNumber": "Invalid phone number"
}, },
"button": { "button": {
"back": "Back", "back": "Back",
......
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
"invalidIdNumber": "Ugyldig fødselsnummer", "invalidIdNumber": "Ugyldig fødselsnummer",
"nationalIdNumberRequired": "Fødselsnummer er påkrevd", "nationalIdNumberRequired": "Fødselsnummer er påkrevd",
"roleTypeRequired": "Rolletype er påkrevd", "roleTypeRequired": "Rolletype er påkrevd",
"roleEndRequired": "Sluttdato for rolle er påkrevd",
"invalidMobilePhoneNumber": "Ugyldig telefonnummer"
"roleEndRequired": "Sluttdato for rolle er påkrevd" "roleEndRequired": "Sluttdato for rolle er påkrevd"
}, },
"button": { "button": {
......
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
"invalidIdNumber": "Ugyldig fødselsnummer", "invalidIdNumber": "Ugyldig fødselsnummer",
"nationalIdNumberRequired": "Fødselsnummer er påkrevd", "nationalIdNumberRequired": "Fødselsnummer er påkrevd",
"roleTypeRequired": "Rolletype er påkrevd", "roleTypeRequired": "Rolletype er påkrevd",
"roleEndRequired": "Sluttdato for rolle er påkrevd",
"invalidMobilePhoneNumber": "Ugyldig telefonnummer"
"roleEndRequired": "Sluttdato for rolle er påkrevd" "roleEndRequired": "Sluttdato for rolle er påkrevd"
}, },
"button": { "button": {
......
import validator from '@navikt/fnrvalidator' import validator from '@navikt/fnrvalidator'
import i18n from 'i18next' import i18n from 'i18next'
import { isValidPhoneNumber } from 'libphonenumber-js'
export function getCookie(name: string) { export function getCookie(name: string) {
if (!document.cookie) { if (!document.cookie) {
...@@ -50,3 +51,12 @@ export function isValidFnr(data: string | undefined): boolean | string { ...@@ -50,3 +51,12 @@ export function isValidFnr(data: string | undefined): boolean | string {
// TypeScript complains if toString is not used on the function result // TypeScript complains if toString is not used on the function result
return i18n.t('common:validation.invalidIdNumber').toString() return i18n.t('common:validation.invalidIdNumber').toString()
} }
export function isValidMobilePhoneNumber(data: string): boolean | string {
const valid = isValidPhoneNumber(data)
if (valid) {
return true
}
// TypeScript complains if toString is not used on the function result
return i18n.t('common:validation.invalidMobilePhoneNumber').toString()
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment