Mandatory fields are accepting spaces, without having to enter any character for html type field.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-27-2025 08:41 AM
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