пятница, 13 августа 2021 г.

Проверить наличие файла и требуемого расширения в элементе при сохранении.

В этой статье я расскажу, как можно проверить наличие вложений в элементе и расширение файла.

К примеру, у нас есть два вложения, и мы можем к ним обратиться с помощью jQuery

 


1
var attachments = jQuery("#idAttachmentsTable tbody" ).children();

Так же мы можем прочитать расширение файлов

1
2
3
4
5
6
for(var i =0; i< attachments.length;i++){
    var fileName = jQuery("#attachRow" + i +" .ms-vb span").text();
    var extension =    fileName.match(/\.[0-9a-z]+$/i)[0];
    console.log(extension);
 
}

Собираем все единое решение и добавляем в функцию PreSaveAction

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function PreSaveAction()  
{
    var attachments = jQuery("#idAttachmentsTable tbody" ).children();
    if(attachments || attachments.length > 0){
        var excelFileExist = false;
        for(var i =0; i< attachments.length; i++){
            var fileName = jQuery("#attachRow" + i +" .ms-vb span").text();
            var extension =    fileName.match(/\.[0-9a-z]+$/i)[0];
            console.log(extension);
            if(extension == ".xls" || extension == ".xlsx"){
               excelFileExist = true;
            }
        }
         
 
        if(!excelFileExist){
            alert("вложите файл Excel");
            return false;
        }else{
            return true;
        }
    }else{
        alert("нужно вложить файлы");
        return false;
    }
}

этот код можно добавить в веб-часть редактор скриптов или редактор контента