Ошибки при проверке для проверки расширения файла перед загрузкой файла
Я попытался этот пользовательский валидатор, чтобы проверить расширение выбранного файла.
Я использую 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"
}
}
}
});
});
Это не работает и показывает много ошибок. Как я могу решить эту проблему?