﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34704	File Size Validator	Reza Shakeri	nobody	"Hi

I had requested a file validator ([https://code.djangoproject.com/ticket/34700 #34700]), but you said I couldn't add it to its core and I have a question that can I add file size validator? 
**This code has been tested**



{{{

@deconstructible
class FileSizeValidator:
    """"""
    file size validator 
    """"""

    def __init__(
        self,
        max_upload_file_size: int = None,
    ):
        """"""
        :type max_upload_file_size: int
        :param max_upload_file_size: If you want the file size to be checked,
            the file size must be in bytes,
            example: file_size=1048576 (1MB), defaults to 0, optional
        :return: If everything is OK, it will return None, otherwise it will
            return a ValidationError.
        """"""
        if max_upload_file_size is None:
            raise ValueError(""max_upload_file_size is None, You Must Be Fill max_upload_file_size "")

        self.max_upload_file_size = max_upload_file_size

    def __call__(self, value):
        current_file = value.file
        file_size = current_file.size
        if self.max_upload_file_size is not None and file_size > self.max_upload_file_size:
            raise ValidationError(""file size not valid"")

    def __eq__(self, other):
        return (
            isinstance(other, self.__class__)
            and self.max_upload_file_size == other.max_upload_file_size
        )

}}}
"	New feature	closed	File uploads/storage	4.2	Normal	duplicate	file, file validator, file validation, validator, file, file size validation		Unreviewed	0	0	0	0	0	0
