Browse Source

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

Antoine du Hamel 3 năm trước cách đây
mục cha
commit
0b801ccbad
2 tập tin đã thay đổi với 4 bổ sung4 xóa
  1. 2 2
      packages/@uppy/core/src/index.js
  2. 2 2
      website/src/docs/dashboard.md

+ 2 - 2
packages/@uppy/core/src/index.js

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

+ 2 - 2
website/src/docs/dashboard.md

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