mirror of
https://github.com/strapi/strapi.git
synced 2025-09-22 06:50:51 +00:00
55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
import { get, isEmpty, isObject } from 'lodash';
|
|
|
|
export default function checkFormValidity(
|
|
settingType,
|
|
data,
|
|
providerToEdit = ''
|
|
) {
|
|
const formErrors = [];
|
|
|
|
switch (settingType) {
|
|
case 'providers': {
|
|
const isProviderEnabled = get(data, 'enabled');
|
|
const keys = providerToEdit === 'email' ? [] : ['key', 'secret'];
|
|
|
|
keys.forEach(key => {
|
|
if (isProviderEnabled && isEmpty(get(data, key))) {
|
|
formErrors.push({
|
|
name: key,
|
|
errors: [{ id: 'components.Input.error.validation.required' }],
|
|
});
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
case 'email-templates': {
|
|
Object.keys(data.options).forEach(value => {
|
|
if (isObject(data.options[value])) {
|
|
Object.keys(data.options[value]).forEach(subValue => {
|
|
if (isEmpty(get(data, ['options', value, subValue]))) {
|
|
formErrors.push({
|
|
name: `options.${value}.${subValue}`,
|
|
errors: [{ id: 'components.Input.error.validation.required' }],
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
if (
|
|
value !== 'response_email' &&
|
|
isEmpty(get(data, ['options', value]))
|
|
) {
|
|
formErrors.push({
|
|
name: `options.${value}`,
|
|
errors: [{ id: 'components.Input.error.validation.required' }],
|
|
});
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
default:
|
|
}
|
|
|
|
return formErrors;
|
|
}
|