@modular-forms/react
Version:
The modular and type-safe form library for React
18 lines (17 loc) • 525 B
JavaScript
/**
* Creates a validation functions that validates the file type.
*
* @param requirement The MIME types.
* @param error The error message.
*
* @returns A validation function.
*/
export function mimeType(requirement, error) {
const mimeTypes = Array.isArray(requirement) ? requirement : [requirement];
return (value) => value &&
(Array.isArray(value)
? [...value].some((file) => !mimeTypes.includes(file.type))
: !mimeTypes.includes(value.type))
? error
: '';
}