Ошибки при проверке для проверки расширения файла перед загрузкой файла

Я попытался этот пользовательский валидатор, чтобы проверить расширение выбранного файла.

Я использую valdr-validation-plugin с AngularJS и написал эту пользовательскую проверку для проверки расширения файла, который должен быть загружен. В общем-то value Параметр содержит детали данных, которые должны быть проверены, но в случае загрузки файла они не работают.

app.factory('fileValidator', function () {
return {
    name: 'fileExtension',
    validate: function (value, arguments)
    {

            if(value=== undefined) { return false; }
            else
            {
                var fileName = value.name,
                    extension = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
                if( extension == "jpg" || extension == "jpeg" || extension == "png" || extension == "bmp" ){ return true; }
                else { return false; }
            }
        }
    };
});

В приведенном выше коде я пытаюсь получить расширение файла, используя value параметр, но он показывает ошибку, что значение не определено.

Я называю это пользовательской проверкой из приведенного ниже кода. Зарегистрируйте этот валидатор в конфигурации приложения, а затем используйте его для проверки bannerImage.

app.config(function(valdrProvider) {
    valdrProvider.addValidator('fileValidator');
    valdrProvider.addConstraints({
        "Banner":
        {
            "bannerName":
            {
                "size":
                {
                    "min": 2,
                    "max": 512,
                    "message": "Banner name must between 2 and 512 characters"
                },
                "required" :
                {
                    "message" : "This field is required"
                }
            },
            "bannerLink":
            {
                "size":
                {
                    "min": 2,
                    "max": 1024,
                    "message": "Banner link must between 2 and 1024 characters"
                },
                "required" :
                {
                    "message" : "This field is required"
                }
            },
            "bannerImage":
            {
                "fileExtension":
                {
                    "allowedExtensions" : ['jpg','jpeg', 'png','bmp'],
                    "message" : "Allowed file types are JPG, JPEG, PNG, BMP"
                },
                "required":
                {
                    "required" : "This field is required"
                }
            }
        }
    });
});

Это не работает и показывает много ошибок. Как я могу решить эту проблему?

0 ответов

Другие вопросы по тегам