Files
pole-book/server/node_modules/@strapi/upload/dist/admin/utils/urlYupSchema.mjs

52 lines
1.7 KiB
JavaScript

import { translatedErrors } from '@strapi/admin/strapi-admin';
import * as yup from 'yup';
import { getTrad } from './getTrad.mjs';
const urlSchema = yup.object().shape({
urls: yup.string().test({
name: 'isUrlValid',
// eslint-disable-next-line no-template-curly-in-string
message: '${path}',
test (values = '') {
const urls = values.split(/\r?\n/);
if (urls.length === 0) {
return this.createError({
path: this.path,
message: translatedErrors.min.id
});
}
if (urls.length > 20) {
return this.createError({
path: this.path,
message: translatedErrors.max.id
});
}
const filtered = urls.filter((val)=>{
try {
// eslint-disable-next-line no-new
new URL(val);
return false;
} catch (err) {
// invalid url
return true;
}
});
const filteredLength = filtered.length;
if (filteredLength === 0) {
return true;
}
const errorMessage = filteredLength > 1 ? 'form.upload-url.error.url.invalids' : 'form.upload-url.error.url.invalid';
return this.createError({
path: this.path,
message: getTrad(errorMessage),
params: {
number: filtered.length
}
});
}
})
});
export { urlSchema };
//# sourceMappingURL=urlYupSchema.mjs.map