With the following form configuration in place the submitted data values contain only the first selected file of the multiple file upload field attachments.
I have discovered that the underlying issue is how the __trustedProperties field value is created.
Form configuration
prototype(My.Package:Content.ApplicationForm) < prototype(Neos.Neos:ContentComponent) {
renderer = Neos.Fusion.Form:Runtime.RuntimeForm {
namespace = 'application_form'
process {
content = My.Package:Components.ApplicationForm
schema = Neos.Fusion.Form:Runtime.SchemaCollection {
name = ${Form.Schema.string().isRequired()}
email = ${Form.Schema.string().isRequired().validator('EmailAddress')}
attachments = ${Form.Schema.arrayOf(Form.Schema.resource().isRequired().validator('Neos\Fusion\Form\Runtime\Validation\Validator\FileTypeValidator', { allowedMediaTypes: ['image/jpeg', 'application/pdf'] }))}
picture = ${Form.Schema.resource().isRequired().validator('Neos\Fusion\Form\Runtime\Validation\Validator\FileTypeValidator', { allowedMediaTypes: ['image/jpeg'] })}
}
}
action {
email {
type = 'Neos.Fusion.Form.Runtime:Email'
options {
senderAddress = ...
senderName = ${data.name}
replyToAddress = ${data.email}
recipientAddress = ...
subject = "..."
attachments {
multipleFileUpload = ${data.attachments}
singleFileUpload = ${data.picture}
}
text = "..."
}
}
}
}
}
prototype(My.Package:Components.ApplicationForm) < prototype(Neos.Fusion:Component) {
renderer = afx`
<fieldset>
<legend>Application form</legend>
</fieldset>
<Neos.Fusion.Form:FieldContainer field.name="name" label="Name">
<Neos.Fusion.Form:Input>
</Neos.Fusion.Form:FieldContainer>
<Neos.Fusion.Form:FieldContainer field.name="email" label="Email">
<Neos.Fusion.Form:Input
attributes.type="email"
/>
</Neos.Fusion.Form:FieldContainer>
<!-- multiple file upload-->
<Neos.Fusion.Form:FieldContainer field.name="attachments" label="Attachments">
<input
name={field.getName() + '[]'}
type="file"
multiple={true}
/>
</Neos.Fusion.Form:FieldContainer>
<!-- single file upload-->
<Neos.Fusion.Form:FieldContainer field.name="picture" label="Attachments">
<Neos.Fusion.Form:Upload />
</Neos.Fusion.Form:FieldContainer>
`
}
With the following form configuration in place the submitted
datavalues contain only the first selected file of the multiple file upload field attachments.I have discovered that the underlying issue is how the
__trustedPropertiesfield value is created.Form configuration