Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

Mandatory fields are accepting spaces, without having to enter any character for html type field.

HaripriyaG98623
Tera Contributor

Hello,

I'm working on a requirement where user should not be able to enter empty spaces to a mandatory html type field, but should be able to give characters, special characters, number, images. I have 9 mandatory fields and I'm using a Reusable Validation Functions that is called 9 times. Now my issue is, its allowing characters, special characters, numbers but not the images. 

Here is the reusable function script I'm using to validate characters, special characters, numbers:

----------------------------------------------------------------------------------------------------------------------------------

function onLoad() {
 
    window.validateField = function(fieldName) {
        var fieldValue = g_form.getValue(fieldName).trim();
        var textOnlyValue = fieldValue.replace(/<[^>]*>/g, '').trim();
        var fieldLabel = g_form.getLabel(fieldName).innerText || g_form.getLabel(fieldName).textContent;
        if (textOnlyValue === '' || textOnlyValue === ' ') {
            alert(fieldLabel + ' cannot be empty or contain only spaces.');
            g_form.setValue(fieldName, '');
            return false;
        }

        var regex = /^[a-zA-Z0-9\s.,!?'"\\/]*$/;
        if (!regex.test(textOnlyValue)) {
            alert(fieldLabel + ' cannot be empty. Please enter data into the field.');
            g_form.setValue(fieldName, '');
            return false;
        }

        var cleanedValue = fieldValue.replace(/\s+/g, ' ').trim();
        if (fieldValue !== cleanedValue) {
            g_form.setValue(fieldName, cleanedValue);
        }

        return true;
    };
}
-------------------------------------------------------------------------------------------------------------------------------
I have now modified this script to allow images or attachments and its not working :
-------------------------------------------------------------------------------------------------------------------------------
function onLoad() {
   
    window.validateField = function(fieldName) {
        var fieldValue = g_form.getValue(fieldName).trim();
        var textOnlyValue = fieldValue.replace(/<[^>]*>/g, '').trim();
        var fieldLabel = g_form.getLabel(fieldName).innerText || g_form.getLabel(fieldName).textContent;
        if (textOnlyValue === '' || textOnlyValue === ' ') {
            alert(fieldLabel + ' cannot be empty or contain only spaces.');
            g_form.setValue(fieldName, '');
            return false;
        }
        var regex = /^[a-zA-Z0-9\s.,!?'"\\/&*+_=-:;<>[\](){}|`~^$#%@]*$/;
        if (!regex.test(textOnlyValue)) {
            alert(fieldLabel + ' cannot be empty. Please enter data into the field.');
            g_form.setValue(fieldName, '');
            return false;
        }
        var htmlTagsAllowed = fieldValue.replace(/<[^>]+>/g, function(tag) {
            if (tag.toLowerCase().includes('<img')) {
                return tag;
            }
            return '';
        });

        if (htmlTagsAllowed !== fieldValue) {
            g_form.setValue(fieldName, htmlTagsAllowed);
        }
        var cleanedValue = fieldValue.replace(/\s+/g, ' ').trim();
        if (fieldValue !== cleanedValue) {
            g_form.setValue(fieldName, cleanedValue);
        }

        return true;
    };
}
----------------------------------------------------------------------------------------------------------------------------------
 Any guidance or support is much appreciated.
 
Thank you,
Hari
 

 

0 REPLIES 0