Ciao! Sto utilizzando i modelli di form di Discourse per la creazione di argomenti e la convalida funziona correttamente per tutti i tipi di campo tranne upload.
Nonostante l’impostazione di validations: required: true su un campo upload, gli utenti sono ancora in grado di inviare il modulo senza allegare alcun file.
La mia comprensione è che quando un campo upload ha:
validations:
required: true
…il modulo dovrebbe impedire l’invio a meno che non venga caricato almeno un file. Il modulo viene renderizzato correttamente. Altri campi (input, textarea, tag-chooser, validazione URL) applicano required come previsto, ma il campo upload non blocca l’invio se vuoto.
Lo YAML è valido e il modello viene caricato senza errori. I caricamenti di file stessi funzionano correttamente quando utilizzati, quindi il problema sembra essere specifico dell’applicazione di required sul campo upload. La mia stringa YAML per questo upload nel mio modello è la seguente:
- type: upload
id: patch-uploaded
attributes:
file_types: “.jpg, .png, .gif, .zip”
allow_multiple: true
label: “Upload your .zip”
validations:
required: true
Grazie in anticipo per qualsiasi aiuto!