@uppy/core: reject empty string as valid value for required meta fields (#3119)

This commit is contained in:
Antoine du Hamel 2021-08-20 14:47:31 +02:00 committed by GitHub
parent 3059d733f6
commit 0b801ccbad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View file

@ -555,14 +555,14 @@ class Uppy {
*/
#checkRequiredMetaFields (files) {
const { requiredMetaFields } = this.opts.restrictions
const { hasOwnProperty } = Object.prototype.hasOwnProperty
const { hasOwnProperty } = Object.prototype
const errors = []
const fileIDs = Object.keys(files)
for (let i = 0; i < fileIDs.length; i++) {
const file = this.getFile(fileIDs[i])
for (let i = 0; i < requiredMetaFields.length; i++) {
if (!hasOwnProperty.call(file.meta, requiredMetaFields[i])) {
if (!hasOwnProperty.call(file.meta, requiredMetaFields[i]) || file.meta[requiredMetaFields[i]] === '') {
const err = new RestrictionError(`${this.i18n('missingRequiredMetaFieldOnFile', { fileName: file.name })}`)
errors.push(err)
this.#showOrLogErrorAndThrow(err, { file, showInformer: false, throwErr: false })

View file

@ -249,7 +249,7 @@ uppy.use(Dashboard, {
id: 'public',
name: 'Public',
render ({ value, onChange, required, form }, h) {
return h('input', { type: 'checkbox', required, form, onChange: (ev) => onChange(ev.target.checked ? 'on' : 'off'), defaultChecked: value === 'on' })
return h('input', { type: 'checkbox', required, form, onChange: (ev) => onChange(ev.target.checked ? 'on' : ''), defaultChecked: value === 'on' })
},
},
],
@ -272,7 +272,7 @@ uppy.use(Dashboard, {
render: ({ value, onChange, required, form }, h) => {
return h('input', {
type: 'checkbox',
onChange: (ev) => onChange(ev.target.checked ? 'on' : 'off'),
onChange: (ev) => onChange(ev.target.checked ? 'on' : ''),
defaultChecked: value === 'on',
required,
form,