Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add limit on account close message field #929

Merged
merged 1 commit into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions clients/banking/src/components/AccountClose.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,19 @@ import { filterRejectionsToResult } from "@swan-io/lake/src/utils/gql";
import { trim } from "@swan-io/lake/src/utils/string";
import { Request } from "@swan-io/request";
import { translateError } from "@swan-io/shared-business/src/utils/i18n";
import { useForm } from "@swan-io/use-form";
import { combineValidators, useForm } from "@swan-io/use-form";
import { useEffect, useState } from "react";
import { StyleSheet, View } from "react-native";
import { match, P } from "ts-pattern";
import { AccountClosingDocument, AccountCountry, CloseAccountDocument } from "../graphql/partner";
import { env } from "../utils/env";
import { formatNestedMessage, t } from "../utils/i18n";
import { Router } from "../utils/routes";
import { validateNullableRequired, validateRequired } from "../utils/validations";
import {
validateAccountReasonClose,
validateNullableRequired,
validateRequired,
} from "../utils/validations";
import { ErrorView } from "./ErrorView";
import { TransferRegularWizard } from "./TransferRegularWizard";
import { WizardLayout } from "./WizardLayout";
Expand Down Expand Up @@ -81,7 +85,7 @@ const AccountCloseReasonForm = ({ accountId }: { accountId: string }) => {
message: {
initialValue: "",
sanitize: trim,
validate: validateRequired,
validate: combineValidators(validateRequired, validateAccountReasonClose),
},
});

Expand Down Expand Up @@ -201,6 +205,7 @@ const AccountCloseReasonForm = ({ accountId }: { accountId: string }) => {
ref={ref}
multiline={true}
numberOfLines={4}
maxCharCount={255}
/>
)}
/>
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Ungültige E-Mail-Adresse",
"common.form.invalidFile": "Ungültige Datei",
"common.form.invalidFileLine": "Zeile {line} enthält ungültige oder fehlende Daten",
"common.form.invalidMessage": "Die Nachricht darf nicht mehr als {maxLength} Zeichen enthalten",
"common.form.invalidName": "Ungültiger Name",
"common.form.invalidPhoneNumber": "Ungültige Telefonnummer",
"common.form.invalidRLMC": "Ungültiger RLMC",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@
"common.form.chooseDateBefore": "Choose a date before {date}",
"common.form.dateCannotBePast": "This date cannot be in the past",
"common.form.dateIsNotWithinYear": "You can only schedule a transfer up to one year in advance.",
"common.form.invalidMessage": "Message should not exceed {maxLength} characters",
"common.form.invalidAddressLine": "This field is limited to 38 characters",
"common.form.invalidAmount": "Invalid amount",
"common.form.invalidBulkAmount": "Line {line} has an invalid amount",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Correo electrónico no válido",
"common.form.invalidFile": "Archivo no válido",
"common.form.invalidFileLine": "La línea {line} contiene datos inválidos o le faltan datos",
"common.form.invalidMessage": "El mensaje no debe exceder {maxLength} caracteres",
"common.form.invalidName": "Nombre inválido",
"common.form.invalidPhoneNumber": "Este número de teléfono no es válido",
"common.form.invalidRLMC": "RLMC inválido",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/fi.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Sähköposti on väärässä muodossa",
"common.form.invalidFile": "Virheellinen tiedosto",
"common.form.invalidFileLine": "Rivi {line} sisältää virheellisiä tai puuttuvia tietoja",
"common.form.invalidMessage": "Viestin pituus ei saa ylittää {maxLength} merkkiä",
"common.form.invalidName": "Nimi on väärässä muodossa",
"common.form.invalidPhoneNumber": "Puhelinnumero on väärässä muodossa",
"common.form.invalidRLMC": "Virheellinen RLMC",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "E-mail non valide",
"common.form.invalidFile": "Fichier invalide",
"common.form.invalidFileLine": "La ligne {line} contient des données invalides ou manquantes",
"common.form.invalidMessage": "Le message ne doit pas dépasser {maxLength} caractères",
"common.form.invalidName": "Nom non valide",
"common.form.invalidPhoneNumber": "Numéro de téléphone non valide",
"common.form.invalidRLMC": "RLMC non valide",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Questo indirizzo email non è valido",
"common.form.invalidFile": "File non valido",
"common.form.invalidFileLine": "La riga {line} contiene dati non validi o mancanti",
"common.form.invalidMessage": "Il messaggio non deve superare {maxLength} caratteri",
"common.form.invalidName": "Nome non valido",
"common.form.invalidPhoneNumber": "Questo numero di telefono non è valido",
"common.form.invalidRLMC": "RLMC non valido",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Dit e-mailadres is ongeldig",
"common.form.invalidFile": "Ongeldig bestand",
"common.form.invalidFileLine": "Regel {line} bevat ongeldige of ontbrekende gegevens",
"common.form.invalidMessage": "Bericht mag niet meer dan {maxLength} tekens bevatten",
"common.form.invalidName": "Ongeldige naam",
"common.form.invalidPhoneNumber": "Dit telefoonnummer is ongeldig",
"common.form.invalidRLMC": "Ongeldige RLMC",
Expand Down
1 change: 1 addition & 0 deletions clients/banking/src/locales/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
"common.form.invalidEmail": "Este e-mail é inválido",
"common.form.invalidFile": "Ficheiro inválido",
"common.form.invalidFileLine": "A linha {line} contém dados inválidos ou em falta",
"common.form.invalidMessage": "A mensagem não deve exceder {maxLength} caracteres",
"common.form.invalidName": "Nome inválido",
"common.form.invalidPhoneNumber": "Este número de telemóvel é inválido",
"common.form.invalidRLMC": "RLMC inválido",
Expand Down
7 changes: 7 additions & 0 deletions clients/banking/src/utils/validations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ export const validateTransferReference: Validator<string> = value => {
}
};

export const validateAccountReasonClose: Validator<string> = value => {
const maxLength = 255;
if (value.length > maxLength) {
return t("common.form.invalidMessage", { maxLength });
}
};

export const validateAccountNameLength: Validator<string> = value => {
const maxLength = 256;
if (value.length > maxLength) {
Expand Down