diff --git a/src/UI/InputElement/Validators/StringValidator.ts b/src/UI/InputElement/Validators/StringValidator.ts index 9da065c9a3..6b62e0f590 100644 --- a/src/UI/InputElement/Validators/StringValidator.ts +++ b/src/UI/InputElement/Validators/StringValidator.ts @@ -1,7 +1,24 @@ import { Validator } from "../Validator" +import { Translation } from "../../i18n/Translation" +import Translations from "../../i18n/Translations" export default class StringValidator extends Validator { - constructor() { - super("string", "A simple piece of text") + + constructor(type?: string, doc?: string, inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search", textArea?: boolean) { + super(type ?? "string", + doc ?? "A simple piece of text which is at most 255 characters long", + inputmode, + textArea) + } + + isValid(s: string): boolean { + return s.length <= 255 + } + + getFeedback(s: string, getCountry?: () => string): Translation | undefined { + if (s.length > 255) { + return Translations.t.validation.tooLong.Subs({ count: s.length }) + } + return super.getFeedback(s, getCountry) } } diff --git a/src/UI/InputElement/Validators/TextValidator.ts b/src/UI/InputElement/Validators/TextValidator.ts index d1bc1e1604..a60368ee76 100644 --- a/src/UI/InputElement/Validators/TextValidator.ts +++ b/src/UI/InputElement/Validators/TextValidator.ts @@ -1,6 +1,6 @@ -import { Validator } from "../Validator" +import StringValidator from "./StringValidator" -export default class TextValidator extends Validator { +export default class TextValidator extends StringValidator { constructor() { super( "text",