Required image

Hey!

I have some forms that ask for an image to be submited. I said the image input is mandatory, but is not turning red if you are not uploading an image, so the users get confused.

What should I do?

Thank you!

Using the example code from the API, you can display a message to the user that they need to select a file:

export function button1_click(event, $w) {
    if ($w("#uploadButton1").value.length > 0) {
        $w("#text1").text = `Uploading ${$w("#uploadButton1").value[0].name}`;
        $w("#uploadButton1").startUpload()
            .then((uploadedFile) => {
                $w("#text1").text = "Upload successful";
                $w("#image1").src = uploadedFile.url;
            })
            .catch((uploadError) => {
                $w("#text1").text = "File upload error";
                console.log(`Error: ${uploadError.errorCode}`);
                console.log(uploadError.errorDescription);
            });
    } else {
        // display msg to user that no file was selected
        $w("#text1").text = "Please choose a file to upload.";
    }
}

Hey! thank you for answering. I tried that but then, everytime they want to update their profile they have to upload an image, eventhough they uploaded one before…

So if they’ve already uploaded, you can make it optional:
$w(“#uploadButton”).required = false;

You can also skip the upload in the button1_onClickI() and change or eliminate the message to be displayed in the Text field.

Thanks Yisrael! At the end I did this and its working!

$w.onReady( function () {
$w(‘#dynamicDataset’).onBeforeSave(() => {
if (!($w(‘#input16’).valid) && $w(“#uploadButton1”).value.length > 0) {

let validationMessage = ‘’;

if (!$w(‘#input16’).valid)
validationMessage += ‘Please enter the profile image and all the required information\n’;

        $w('#validationMessages').text = validationMessage; 
        $w('#validationMessages').expand(); 
    } 

else
$w(‘#validationMessages’).collapse();

}); 

});

I created another question on the forum, I wonder if you could help me that well there too… :)))

Thank you very much!!!