From 754da87e45ae3bb46defb4eca7a64d32eb939612 Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Tue, 18 Apr 2023 21:01:29 +0200 Subject: [PATCH] =?UTF-8?q?Add=20validation=20for=20minimum=20length=20of?= =?UTF-8?q?=20contact=E2=80=99s=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/contacts.go | 2 ++ pkg/form.go | 4 ++++ po/ca.po | 56 ++++++++++++++++++++++++++----------------------- po/es.po | 56 ++++++++++++++++++++++++++----------------------- 4 files changed, 66 insertions(+), 52 deletions(-) diff --git a/pkg/contacts.go b/pkg/contacts.go index dae026b..295fea8 100644 --- a/pkg/contacts.go +++ b/pkg/contacts.go @@ -183,6 +183,7 @@ func newContactForm(ctx context.Context, conn *Conn, locale *Locale) *contactFor Required: true, Attributes: []template.HTMLAttr{ `autocomplete="organization"`, + `minlength="2"`, }, }, VATIN: &InputField{ @@ -297,6 +298,7 @@ func (form *contactForm) Validate(ctx context.Context, conn *Conn) bool { } validator.CheckRequiredInput(form.BusinessName, gettext("Business name can not be empty.", form.locale)) + validator.CheckInputMinLength(form.BusinessName, 2, gettext("Business name must have at least two letters.", form.locale)) if validator.CheckRequiredInput(form.VATIN, gettext("VAT number can not be empty.", form.locale)) { validator.CheckValidVATINInput(form.VATIN, country, gettext("This value is not a valid VAT number.", form.locale)) } diff --git a/pkg/form.go b/pkg/form.go index 1a4dd4d..81bde52 100644 --- a/pkg/form.go +++ b/pkg/form.go @@ -297,6 +297,10 @@ func (v *FormValidator) CheckRequiredInput(field *InputField, message string) bo return v.checkInput(field, field.Val != "", message) } +func (v *FormValidator) CheckInputMinLength(field *InputField, min int, message string) bool { + return v.checkInput(field, len(field.Val) >= min, message) +} + func (v *FormValidator) CheckValidEmailInput(field *InputField, message string) bool { _, err := mail.ParseAddress(field.Val) return v.checkInput(field, err == nil, message) diff --git a/po/ca.po b/po/ca.po index 4f09e27..1a0daf2 100644 --- a/po/ca.po +++ b/po/ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: numerus\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2023-04-16 18:48+0200\n" +"POT-Creation-Date: 2023-04-18 20:59+0200\n" "PO-Revision-Date: 2023-01-18 17:08+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Catalan \n" @@ -430,7 +430,7 @@ msgctxt "action" msgid "Update product" msgstr "Actualitza producte" -#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:210 +#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:211 msgctxt "input" msgid "Email" msgstr "Correu-e" @@ -440,11 +440,11 @@ msgctxt "input" msgid "Password" msgstr "Contrasenya" -#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:306 +#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:308 msgid "Email can not be empty." msgstr "No podeu deixar el correu-e en blanc." -#: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:307 +#: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:309 msgid "This value is not a valid email. It should be like name@domain.com." msgstr "Aquest valor no és un correu-e vàlid. Hauria de ser similar a nom@domini.cat." @@ -477,7 +477,7 @@ msgid "Taxes" msgstr "Imposts" #: pkg/products.go:231 pkg/invoices.go:187 pkg/invoices.go:582 -#: pkg/invoices.go:964 pkg/contacts.go:267 +#: pkg/invoices.go:964 pkg/contacts.go:268 msgctxt "input" msgid "Tags" msgstr "Etiquetes" @@ -749,96 +749,100 @@ msgctxt "input" msgid "Business name" msgstr "Nom i cognoms" -#: pkg/contacts.go:190 +#: pkg/contacts.go:191 msgctxt "input" msgid "VAT number" msgstr "DNI / NIF" -#: pkg/contacts.go:196 +#: pkg/contacts.go:197 msgctxt "input" msgid "Trade name" msgstr "Nom comercial" -#: pkg/contacts.go:201 +#: pkg/contacts.go:202 msgctxt "input" msgid "Phone" msgstr "Telèfon" -#: pkg/contacts.go:219 +#: pkg/contacts.go:220 msgctxt "input" msgid "Web" msgstr "Web" -#: pkg/contacts.go:227 +#: pkg/contacts.go:228 msgctxt "input" msgid "Address" msgstr "Adreça" -#: pkg/contacts.go:236 +#: pkg/contacts.go:237 msgctxt "input" msgid "City" msgstr "Població" -#: pkg/contacts.go:242 +#: pkg/contacts.go:243 msgctxt "input" msgid "Province" msgstr "Província" -#: pkg/contacts.go:248 +#: pkg/contacts.go:249 msgctxt "input" msgid "Postal code" msgstr "Codi postal" -#: pkg/contacts.go:257 +#: pkg/contacts.go:258 msgctxt "input" msgid "Country" msgstr "País" -#: pkg/contacts.go:295 +#: pkg/contacts.go:296 msgid "Selected country is not valid." msgstr "Heu seleccionat un país que no és vàlid." -#: pkg/contacts.go:299 +#: pkg/contacts.go:300 msgid "Business name can not be empty." msgstr "No podeu deixar el nom i els cognoms en blanc." -#: pkg/contacts.go:300 +#: pkg/contacts.go:301 +msgid "Business name must have at least two letters." +msgstr "Nom i cognoms han de tenir com a mínim dues lletres." + +#: pkg/contacts.go:302 msgid "VAT number can not be empty." msgstr "No podeu deixar el DNI o NIF en blanc." -#: pkg/contacts.go:301 +#: pkg/contacts.go:303 msgid "This value is not a valid VAT number." msgstr "Aquest valor no és un DNI o NIF vàlid." -#: pkg/contacts.go:303 +#: pkg/contacts.go:305 msgid "Phone can not be empty." msgstr "No podeu deixar el telèfon en blanc." -#: pkg/contacts.go:304 +#: pkg/contacts.go:306 msgid "This value is not a valid phone number." msgstr "Aquest valor no és un telèfon vàlid." -#: pkg/contacts.go:310 +#: pkg/contacts.go:312 msgid "This value is not a valid web address. It should be like https://domain.com/." msgstr "Aquest valor no és una adreça web vàlida. Hauria de ser similar a https://domini.cat/." -#: pkg/contacts.go:312 +#: pkg/contacts.go:314 msgid "Address can not be empty." msgstr "No podeu deixar l’adreça en blanc." -#: pkg/contacts.go:313 +#: pkg/contacts.go:315 msgid "City can not be empty." msgstr "No podeu deixar la població en blanc." -#: pkg/contacts.go:314 +#: pkg/contacts.go:316 msgid "Province can not be empty." msgstr "No podeu deixar la província en blanc." -#: pkg/contacts.go:315 +#: pkg/contacts.go:317 msgid "Postal code can not be empty." msgstr "No podeu deixar el codi postal en blanc." -#: pkg/contacts.go:316 +#: pkg/contacts.go:318 msgid "This value is not a valid postal code." msgstr "Aquest valor no és un codi postal vàlid." diff --git a/po/es.po b/po/es.po index a402cf0..a0ee258 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: numerus\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2023-04-16 18:48+0200\n" +"POT-Creation-Date: 2023-04-18 20:59+0200\n" "PO-Revision-Date: 2023-01-18 17:45+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Spanish \n" @@ -430,7 +430,7 @@ msgctxt "action" msgid "Update product" msgstr "Actualizar producto" -#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:210 +#: pkg/login.go:36 pkg/profile.go:40 pkg/contacts.go:211 msgctxt "input" msgid "Email" msgstr "Correo-e" @@ -440,11 +440,11 @@ msgctxt "input" msgid "Password" msgstr "Contraseña" -#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:306 +#: pkg/login.go:69 pkg/profile.go:89 pkg/contacts.go:308 msgid "Email can not be empty." msgstr "No podéis dejar el correo-e en blanco." -#: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:307 +#: pkg/login.go:70 pkg/profile.go:90 pkg/contacts.go:309 msgid "This value is not a valid email. It should be like name@domain.com." msgstr "Este valor no es un correo-e válido. Tiene que ser parecido a nombre@dominio.es." @@ -477,7 +477,7 @@ msgid "Taxes" msgstr "Impuestos" #: pkg/products.go:231 pkg/invoices.go:187 pkg/invoices.go:582 -#: pkg/invoices.go:964 pkg/contacts.go:267 +#: pkg/invoices.go:964 pkg/contacts.go:268 msgctxt "input" msgid "Tags" msgstr "Etiquetes" @@ -749,96 +749,100 @@ msgctxt "input" msgid "Business name" msgstr "Nombre y apellidos" -#: pkg/contacts.go:190 +#: pkg/contacts.go:191 msgctxt "input" msgid "VAT number" msgstr "DNI / NIF" -#: pkg/contacts.go:196 +#: pkg/contacts.go:197 msgctxt "input" msgid "Trade name" msgstr "Nombre comercial" -#: pkg/contacts.go:201 +#: pkg/contacts.go:202 msgctxt "input" msgid "Phone" msgstr "Teléfono" -#: pkg/contacts.go:219 +#: pkg/contacts.go:220 msgctxt "input" msgid "Web" msgstr "Web" -#: pkg/contacts.go:227 +#: pkg/contacts.go:228 msgctxt "input" msgid "Address" msgstr "Dirección" -#: pkg/contacts.go:236 +#: pkg/contacts.go:237 msgctxt "input" msgid "City" msgstr "Población" -#: pkg/contacts.go:242 +#: pkg/contacts.go:243 msgctxt "input" msgid "Province" msgstr "Provincia" -#: pkg/contacts.go:248 +#: pkg/contacts.go:249 msgctxt "input" msgid "Postal code" msgstr "Código postal" -#: pkg/contacts.go:257 +#: pkg/contacts.go:258 msgctxt "input" msgid "Country" msgstr "País" -#: pkg/contacts.go:295 +#: pkg/contacts.go:296 msgid "Selected country is not valid." msgstr "Habéis escogido un país que no es válido." -#: pkg/contacts.go:299 +#: pkg/contacts.go:300 msgid "Business name can not be empty." msgstr "No podéis dejar el nombre y los apellidos en blanco." -#: pkg/contacts.go:300 +#: pkg/contacts.go:301 +msgid "Business name must have at least two letters." +msgstr "El nombre y los apellidos deben contener como mínimo dos letras." + +#: pkg/contacts.go:302 msgid "VAT number can not be empty." msgstr "No podéis dejar el DNI o NIF en blanco." -#: pkg/contacts.go:301 +#: pkg/contacts.go:303 msgid "This value is not a valid VAT number." msgstr "Este valor no es un DNI o NIF válido." -#: pkg/contacts.go:303 +#: pkg/contacts.go:305 msgid "Phone can not be empty." msgstr "No podéis dejar el teléfono en blanco." -#: pkg/contacts.go:304 +#: pkg/contacts.go:306 msgid "This value is not a valid phone number." msgstr "Este valor no es un teléfono válido." -#: pkg/contacts.go:310 +#: pkg/contacts.go:312 msgid "This value is not a valid web address. It should be like https://domain.com/." msgstr "Este valor no es una dirección web válida. Tiene que ser parecida a https://dominio.es/." -#: pkg/contacts.go:312 +#: pkg/contacts.go:314 msgid "Address can not be empty." msgstr "No podéis dejar la dirección en blanco." -#: pkg/contacts.go:313 +#: pkg/contacts.go:315 msgid "City can not be empty." msgstr "No podéis dejar la población en blanco." -#: pkg/contacts.go:314 +#: pkg/contacts.go:316 msgid "Province can not be empty." msgstr "No podéis dejar la provincia en blanco." -#: pkg/contacts.go:315 +#: pkg/contacts.go:317 msgid "Postal code can not be empty." msgstr "No podéis dejar el código postal en blanco." -#: pkg/contacts.go:316 +#: pkg/contacts.go:318 msgid "This value is not a valid postal code." msgstr "Este valor no es un código postal válido válido."