Add validation for minimum length of contact’s name

This commit is contained in:
jordi fita mas 2023-04-18 21:01:29 +02:00
parent 884c6dc2db
commit 754da87e45
4 changed files with 66 additions and 52 deletions

View File

@ -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))
}

View File

@ -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)

View File

@ -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 <jordi@tandem.blog>\n"
"Language-Team: Catalan <ca@dodds.net>\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 ladreç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."

View File

@ -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 <jordi@tandem.blog>\n"
"Language-Team: Spanish <es@tp.org.es>\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."