generated from companieshouse/node-review-web-starter-ts
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #71 from companieshouse/feature/IDVA5-154-Sole-tra…
…der-What-is-your-nationality Feature/idva5 154 sole trader what is your nationality
- Loading branch information
Showing
11 changed files
with
183 additions
and
343 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,229 +1,3 @@ | ||
const nationalityList = [ | ||
"British", | ||
"Afghan", | ||
"Albanian", | ||
"Algerian", | ||
"American", | ||
"Andorran", | ||
"Angolan", | ||
"Anguillan", | ||
"Citizen of Antigua and Barbuda", | ||
"Argentine", | ||
"Armenian", | ||
"Australian", | ||
"Austrian", | ||
"Azerbaijani", | ||
"Bahamian", | ||
"Bahraini", | ||
"Bangladeshi", | ||
"Barbadian", | ||
"Belarusian", | ||
"Belgian", | ||
"Belizean", | ||
"Beninese", | ||
"Bermudian", | ||
"Bhutanese", | ||
"Bolivian", | ||
"Citizen of Bosnia and Herzegovina", | ||
"Botswanan", | ||
"Brazilian", | ||
"British Virgin Islander", | ||
"Bruneian", | ||
"Bulgarian", | ||
"Burkinan", | ||
"Burmese", | ||
"Burundian", | ||
"Cambodian", | ||
"Cameroonian", | ||
"Canadian", | ||
"Cape Verdean", | ||
"Cayman Islander", | ||
"Central African", | ||
"Chadian", | ||
"Chilean", | ||
"Chinese", | ||
"Colombian", | ||
"Comoran", | ||
"Congolese (Congo)", | ||
"Congolese (DRC)", | ||
"Cook Islander", | ||
"Costa Rican", | ||
"Croatian", | ||
"Cuban", | ||
"Cymraes", | ||
"Cymro", | ||
"Cypriot", | ||
"Czech", | ||
"Danish", | ||
"Djiboutian", | ||
"Dominican", | ||
"Citizen of the Dominican Republic", | ||
"Dutch", | ||
"East Timorese", | ||
"Ecuadorean", | ||
"Egyptian", | ||
"Emirati", | ||
"English", | ||
"Equatorial Guinean", | ||
"Eritrean", | ||
"Estonian", | ||
"Ethiopian", | ||
"Faroese", | ||
"Fijian", | ||
"Filipino", | ||
"Finnish", | ||
"French", | ||
"Gabonese", | ||
"Gambian", | ||
"Georgian", | ||
"German", | ||
"Ghanaian", | ||
"Gibraltarian", | ||
"Greek", | ||
"Greenlandic", | ||
"Grenadian", | ||
"Guamanian", | ||
"Guatemalan", | ||
"Citizen of Guinea-Bissau", | ||
"Guinean", | ||
"Guyanese", | ||
"Haitian", | ||
"Honduran", | ||
"Hong Konger", | ||
"Hungarian", | ||
"Icelandic", | ||
"Indian", | ||
"Indonesian", | ||
"Iranian", | ||
"Iraqi", | ||
"Irish", | ||
"Israeli", | ||
"Italian", | ||
"Ivorian", | ||
"Jamaican", | ||
"Japanese", | ||
"Jordanian", | ||
"Kazakh", | ||
"Kenyan", | ||
"Kittitian", | ||
"Citizen of Kiribati", | ||
"Kosovan", | ||
"Kuwaiti", | ||
"Kyrgyz", | ||
"Lao", | ||
"Latvian", | ||
"Lebanese", | ||
"Liberian", | ||
"Libyan", | ||
"Liechtenstein citizen", | ||
"Lithuanian", | ||
"Luxembourger", | ||
"Macanese", | ||
"Macedonian", | ||
"Malagasy", | ||
"Malawian", | ||
"Malaysian", | ||
"Maldivian", | ||
"Malian", | ||
"Maltese", | ||
"Marshallese", | ||
"Martiniquais", | ||
"Mauritanian", | ||
"Mauritian", | ||
"Mexican", | ||
"Micronesian", | ||
"Moldovan", | ||
"Monegasque", | ||
"Mongolian", | ||
"Montenegrin", | ||
"Montserratian", | ||
"Moroccan", | ||
"Mosotho", | ||
"Mozambican", | ||
"Namibian", | ||
"Nauruan", | ||
"Nepalese", | ||
"New Zealander", | ||
"Nicaraguan", | ||
"Nigerian", | ||
"Nigerien", | ||
"Niuean", | ||
"North Korean", | ||
"Northern Irish", | ||
"Norwegian", | ||
"Omani", | ||
"Pakistani", | ||
"Palauan", | ||
"Palestinian", | ||
"Panamanian", | ||
"Papua New Guinean", | ||
"Paraguayan", | ||
"Peruvian", | ||
"Pitcairn Islander", | ||
"Polish", | ||
"Portuguese", | ||
"Prydeinig", | ||
"Puerto Rican", | ||
"Qatari", | ||
"Romanian", | ||
"Russian", | ||
"Rwandan", | ||
"Salvadorean", | ||
"Sammarinese", | ||
"Samoan", | ||
"Sao Tomean", | ||
"Saudi Arabian", | ||
"Scottish", | ||
"Senegalese", | ||
"Serbian", | ||
"Citizen of Seychelles", | ||
"Sierra Leonean", | ||
"Singaporean", | ||
"Slovak", | ||
"Slovenian", | ||
"Solomon Islander", | ||
"Somali", | ||
"South African", | ||
"South Korean", | ||
"South Sudanese", | ||
"Spanish", | ||
"Sri Lankan", | ||
"St Helenian", | ||
"St Lucian", | ||
"Stateless", | ||
"Sudanese", | ||
"Surinamese", | ||
"Swazi", | ||
"Swedish", | ||
"Swiss", | ||
"Syrian", | ||
"Taiwanese", | ||
"Tajik", | ||
"Tanzanian", | ||
"Thai", | ||
"Togolese", | ||
"Tongan", | ||
"Trinidadian", | ||
"Tristanian", | ||
"Tunisian", | ||
"Turkish", | ||
"Turkmen", | ||
"Turks and Caicos Islander", | ||
"Tuvaluan", | ||
"Ugandan", | ||
"Ukrainian", | ||
"Uruguayan", | ||
"Uzbek", | ||
"Vatican citizen", | ||
"Citizen of Vanuatu", | ||
"Venezuelan", | ||
"Vietnamese", | ||
"Vincentian", | ||
"Wallisian", | ||
"Welsh", | ||
"Yemeni", | ||
"Zambian", | ||
"Zimbabwean" | ||
]; | ||
const nationalityList = "British;Afghan;Albanian;Algerian;American;Andorran;Angolan;Anguillan;Citizen of Antigua and Barbuda;Argentine;Armenian;Australian;Austrian;Azerbaijani;Bahamian;Bahraini;Bangladeshi;Barbadian;Belarusian;Belgian;Belizean;Beninese;Bermudian;Bhutanese;Bolivian;Citizen of Bosnia and Herzegovina;Botswanan;Brazilian;British Virgin Islander;Bruneian;Bulgarian;Burkinan;Burmese;Burundian;Cambodian;Cameroonian;Canadian;Cape Verdean;Cayman Islander;Central African;Chadian;Chilean;Chinese;Colombian;Comoran;Congolese (Congo);Congolese (DRC);Cook Islander;Costa Rican;Croatian;Cuban;Cymraes;Cymro;Cypriot;Czech;Danish;Djiboutian;Dominican;Citizen of the Dominican Republic;Dutch;East Timorese;Ecuadorean;Egyptian;Emirati;English;Equatorial Guinean;Eritrean;Estonian;Ethiopian;Faroese;Fijian;Filipino;Finnish;French;Gabonese;Gambian;Georgian;German;Ghanaian;Gibraltarian;Greek;Greenlandic;Grenadian;Guamanian;Guatemalan;Citizen of Guinea-Bissau;Guinean;Guyanese;Haitian;Honduran;Hong Konger;Hungarian;Icelandic;Indian;Indonesian;Iranian;Iraqi;Irish;Israeli;Italian;Ivorian;Jamaican;Japanese;Jordanian;Kazakh;Kenyan;Kittitian;Citizen of Kiribati;Kosovan;Kuwaiti;Kyrgyz;Lao;Latvian;Lebanese;Liberian;Libyan;Liechtenstein citizen;Lithuanian;Luxembourger;Macanese;Macedonian;Malagasy;Malawian;Malaysian;Maldivian;Malian;Maltese;Marshallese;Martiniquais;Mauritanian;Mauritian;Mexican;Micronesian;Moldovan;Monegasque;Mongolian;Montenegrin;Montserratian;Moroccan;Mosotho;Mozambican;Namibian;Nauruan;Nepalese;New Zealander;Nicaraguan;Nigerian;Nigerien;Niuean;North Korean;Northern Irish;Norwegian;Omani;Pakistani;Palauan;Palestinian;Panamanian;Papua New Guinean;Paraguayan;Peruvian;Pitcairn Islander;Polish;Portuguese;Prydeinig;Puerto Rican;Qatari;Romanian;Russian;Rwandan;Salvadorean;Sammarinese;Samoan;Sao Tomean;Saudi Arabian;Scottish;Senegalese;Serbian;Citizen of Seychelles;Sierra Leonean;Singaporean;Slovak;Slovenian;Solomon Islander;Somali;South African;South Korean;South Sudanese;Spanish;Sri Lankan;St Helenian;St Lucian;Stateless;Sudanese;Surinamese;Swazi;Swedish;Swiss;Syrian;Taiwanese;Tajik;Tanzanian;Thai;Togolese;Tongan;Trinidadian;Tristanian;Tunisian;Turkish;Turkmen;Turks and Caicos Islander;Tuvaluan;Ugandan;Ukrainian;Uruguayan;Uzbek;Vatican citizen;Citizen of Vanuatu;Venezuelan;Vietnamese;Vincentian;Wallisian;Welsh;Yemeni;Zambian;Zimbabwean"; | ||
|
||
export default nationalityList; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1 @@ | ||
export const CHARACTER_LIMIT_50 = 50; | ||
export const CHARACTER_LIMIT_49 = 49; | ||
export const CHARACTER_LIMIT_48 = 48; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import { body } from "express-validator"; | ||
import nationalityList from "../../../lib/nationalityList"; | ||
import nationalityErrorManifest from "../../../lib/utils/error_manifests/nationality"; | ||
|
||
export const nationalityValidator = [ | ||
// Validation for 'nationality_input_0' | ||
body("nationality_input_0", nationalityErrorManifest.validation.noNationality.summary).trim().notEmpty().bail().isIn(nationalityList.split(";")), | ||
|
||
// Validation for 'nationality_input_1' | ||
body("nationality_input_1") | ||
.custom((value, { req }) => { | ||
if (!nationalityList.includes(value.trim()) && value.trim() !== "") { // Checks the nationality is in the list of nationalities | ||
throw new Error(nationalityErrorManifest.validation.invalid.summary); | ||
} else if (value.trim() === req.body.nationality_input_0.trim() && value.trim() !== "") { // Check if it's the same as 'nationality_input_0' | ||
throw new Error(nationalityErrorManifest.validation.doubleSecondNationality.summary); | ||
} else if (req.body.nationality_input_0 !== "" && value.trim() === "" && req.body.nationality_input_2 !== "") { // Check if 'nationality_input_0' is filled, 'nationality_input_1' is empty, and 'nationality_input_2' is filled | ||
throw new Error(nationalityErrorManifest.validation.invalid.summary); | ||
} | ||
return true; | ||
}), | ||
|
||
// Validation for 'nationality_input_2' | ||
body("nationality_input_2") | ||
.optional({ nullable: true, checkFalsy: true }) | ||
.isIn(nationalityList.split(";")).withMessage(nationalityErrorManifest.validation.invalid.summary) | ||
.custom((value, { req }) => { | ||
// Check if it's the same as 'nationalityInputSecond' or 'nationalityInput' | ||
if ((value === req.body.nationality_input_1 || value === req.body.nationality_input_0) && value !== " ") { | ||
throw new Error(nationalityErrorManifest.validation.doubleThirdNationality.summary); | ||
} | ||
return true; | ||
}) | ||
.isString().withMessage(nationalityErrorManifest.validation.invalid.summary) | ||
]; |
Oops, something went wrong.