if (document.getElementById('fileUploaderItemList').getElementsByTagName('tr')[0] === undefined) {
let images = document.querySelector(".product-images");
images.setCustomValidity("Please select one or more files.");
images.reportValidity();
}
console.dir
для input, то в самом конце вы увидите что прототипом input является HTMLInputElement в котором есть метод setCustomValidity, а если вызвать у div, то прототипом будет HTMLDivElement. Именно по этому вы получаете ошибку:not a function