Skip to content
Snippets Groups Projects
Commit d10e4f7b authored by Moritz Stückler's avatar Moritz Stückler :cowboy:
Browse files

feat: validate files in form

parent 8512d6d9
No related branches found
No related tags found
No related merge requests found
......@@ -35,8 +35,26 @@ const AddPoiForm: React.FC<Props> = () => {
setFormData({ ...formData, [e.target.name]: e.target.value });
};
const validateFile = (file: File, allowedSize = 5000000, allowedExtensions = ['jpg', 'png']) => {
const { name: fileName, size: fileSize } = file;
const fileExtension = fileName.split('.').pop();
if (fileExtension && !allowedExtensions.includes(fileExtension)) {
return false;
} else if (fileSize > allowedSize) {
return false;
}
return true;
};
const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {
if (e?.target?.files?.length) setFormData({ ...formData, [e.target.name]: e?.target?.files[0] });
if (e?.target?.files?.length) {
const isFileValid = validateFile(e?.target?.files[0]);
console.log('File valid?', isFileValid);
if (isFileValid) {
setFormData({ ...formData, [e.target.name]: e?.target?.files[0] });
}
}
};
const handleSubmit = async (e: React.SyntheticEvent) => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment