Add validation for minimum length of contact’s name
This commit is contained in:
parent
884c6dc2db
commit
754da87e45
|
@ -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))
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
56
po/ca.po
56
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 <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 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."
|
||||
|
||||
|
|
56
po/es.po
56
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 <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."
|
||||
|
||||
|
|
Loading…
Reference in New Issue