FIX_JS_VALIDATION_ISSUE
This commit is contained in:
parent
5cb8184c8c
commit
d53164ce04
@ -172,7 +172,7 @@ input:checked + .slider-branch-contact:before {
|
||||
<label for="branch_name">Branch Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_name" placeholder="Enter Branch Name"
|
||||
name="branch_name" required data-parsley-minlength="3"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s_-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Branch Name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
@ -180,7 +180,9 @@ input:checked + .slider-branch-contact:before {
|
||||
<input type="text" class="form-control" id="branch_code" placeholder="Enter Branch Code"
|
||||
name="branch_code" onchange="setDefaultUnitValue(this)" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9_-]+$"
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, underscore (_) and hyphen (-).">
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, underscore (_) and hyphen (-)."
|
||||
oninput="this.value = this.value.replace(/[^A-Za-z0-9_-]/g, '')"
|
||||
onblur="this.value = this.value.trim();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -209,14 +211,14 @@ input:checked + .slider-branch-contact:before {
|
||||
<label for="district">District<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="district" placeholder="Enter District"
|
||||
name="district" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="District can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label for="city">City<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_city" placeholder="Enter City"
|
||||
name="city" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="City can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
@ -771,7 +773,7 @@ function appendContactHtml(contact = false, reset = false) {
|
||||
<div class="form-group col-md-6">
|
||||
<label for="${uniqueId}_first_name">Name<span class="text-danger">*</span></label>
|
||||
<input value="${contact !== undefined && contact !== false ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="${uniqueId}_name" required
|
||||
data-parsley-pattern="^[A-Za-z\\s]+$"
|
||||
data-parsley-pattern="^[A-Za-z\s]+$"
|
||||
data-parsley-pattern-message="Contact name may contain only letters and spaces.">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
@ -1364,7 +1366,8 @@ function setDefaultUnitValue()
|
||||
{
|
||||
|
||||
var client_id = $('#client_id_branch').val();
|
||||
var branch_code = $('#branch_code').val();
|
||||
var branch_code = ($('#branch_code').val() || '').trim();
|
||||
$('#branch_code').val(branch_code);
|
||||
var units = $('#selected').val();
|
||||
|
||||
console.log('client_id', client_id)
|
||||
|
||||
@ -108,15 +108,17 @@
|
||||
<input type="text" class="form-control" id="branch_name"
|
||||
placeholder="Enter Branch Name" name="branch_name" required
|
||||
data-parsley-minlength="3"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s_-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Branch Name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="branch_code">Branch Code <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_code"
|
||||
placeholder="Enter Branch Code" name="branch_code" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9_-]+$"
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, underscore (_) and hyphen (-).">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, spaces, underscore (_) and hyphen (-)."
|
||||
oninput="this.value = this.value.replace(/[^A-Za-z0-9_\- ]/g, '')"
|
||||
onblur="this.value = this.value.trim();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -147,7 +149,7 @@
|
||||
<label for="district">District <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="district"
|
||||
placeholder="Enter District" name="district" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="District can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
</div>
|
||||
@ -158,7 +160,7 @@
|
||||
<label for="branch_city">City <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_city"
|
||||
placeholder="Enter City" name="city" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="City can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
@ -197,8 +199,8 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label for="name">Name <span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required
|
||||
data-parsley-pattern="^[A-Za-z\\s]+$"
|
||||
data-parsley-pattern-message="Contact name may contain only letters and spaces.">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Contact name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
@ -213,7 +215,7 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label for="email">Email <span class="text-danger">*</span></label>
|
||||
<input value="" type="email" data-parsley-trigger="change" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern-message="Please enter a valid email format (e.g., name@domain.com).">
|
||||
</div>
|
||||
</div>
|
||||
@ -456,7 +458,7 @@
|
||||
if (!/^[a-zA-Z0-9\s_-]+$/.test(v)) return 'Branch Name can contain letters, numbers, spaces, underscore (_) and hyphen (-).';
|
||||
return '';
|
||||
case 'branch_code':
|
||||
if (!/^[a-zA-Z0-9_-]+$/.test(v)) return 'Branch Code can contain letters, numbers, underscore (_) and hyphen (-).';
|
||||
if (!/^[a-zA-Z0-9\s_-]+$/.test(v)) return 'Branch Code can contain letters, numbers, spaces, underscore (_) and hyphen (-).';
|
||||
return '';
|
||||
case 'address1':
|
||||
return '';
|
||||
@ -968,8 +970,8 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label>Name<span class="text-danger">*</span></label>
|
||||
<input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required
|
||||
data-parsley-pattern="^[A-Za-z\\s]+$"
|
||||
data-parsley-pattern-message="Contact name may contain only letters and spaces.">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Contact name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
@ -984,7 +986,7 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label>Email<span class="text-danger">*</span></label>
|
||||
<input value="${contact ? contact.email : ''}" type="email" data-parsley-trigger="change" class="form-control" placeholder="Enter Contact Email" name="email[]" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern-message="Please enter a valid email format (e.g., name@domain.com).">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -277,6 +277,7 @@
|
||||
<script>
|
||||
(function (window, document) {
|
||||
var MAX_GLOBAL_UPLOAD_BYTES = 25 * 1024 * 1024; // 25 MB
|
||||
var textEncoder = typeof TextEncoder !== 'undefined' ? new TextEncoder() : null;
|
||||
|
||||
function formatBytesToMb(bytes) {
|
||||
return (bytes / (1024 * 1024)).toFixed(2);
|
||||
@ -336,6 +337,51 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
function formatPayloadSize(bytes) {
|
||||
return {
|
||||
bytes: bytes,
|
||||
kb: (bytes / 1024).toFixed(2),
|
||||
mb: (bytes / (1024 * 1024)).toFixed(2)
|
||||
};
|
||||
}
|
||||
|
||||
function getTextBytes(value) {
|
||||
var textValue = String(value == null ? '' : value);
|
||||
if (textEncoder) {
|
||||
return textEncoder.encode(textValue).length;
|
||||
}
|
||||
return unescape(encodeURIComponent(textValue)).length;
|
||||
}
|
||||
|
||||
function calculateFormPayloadBytes(form) {
|
||||
if (!form || typeof FormData === 'undefined') {
|
||||
return 0;
|
||||
}
|
||||
var total = 0;
|
||||
var formData = new FormData(form);
|
||||
formData.forEach(function (value) {
|
||||
if (value instanceof File) {
|
||||
total += value.size || 0;
|
||||
} else {
|
||||
total += getTextBytes(value);
|
||||
}
|
||||
});
|
||||
return total;
|
||||
}
|
||||
|
||||
function getFormIdentity(form) {
|
||||
if (!form) {
|
||||
return 'unknown-form';
|
||||
}
|
||||
if (form.id) {
|
||||
return '#' + form.id;
|
||||
}
|
||||
if (form.name) {
|
||||
return 'name="' + form.name + '"';
|
||||
}
|
||||
return form.getAttribute('action') || 'anonymous-form';
|
||||
}
|
||||
|
||||
window.validateGlobalUploadPayload = validateGlobalUploadPayload;
|
||||
|
||||
document.addEventListener('change', function (event) {
|
||||
@ -355,10 +401,16 @@
|
||||
if (!form || !form.matches || !form.matches('form')) {
|
||||
return;
|
||||
}
|
||||
if (!form.querySelector('input[type="file"]')) {
|
||||
return;
|
||||
}
|
||||
if (!validateGlobalUploadPayload(form)) {
|
||||
|
||||
var payloadBytes = calculateFormPayloadBytes(form);
|
||||
var payloadMeta = formatPayloadSize(payloadBytes);
|
||||
console.log(
|
||||
'[Form Payload] ' + getFormIdentity(form) +
|
||||
' => ' + payloadMeta.bytes + ' bytes (' +
|
||||
payloadMeta.kb + ' KB, ' + payloadMeta.mb + ' MB)'
|
||||
);
|
||||
|
||||
if (form.querySelector('input[type="file"]') && !validateGlobalUploadPayload(form)) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
@ -242,14 +242,16 @@
|
||||
<label for="branch_name">Branch Name <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_name" placeholder="Enter Branch Name" name="branch_name" required maxlength="255" data-parsley-maxlength="255"
|
||||
data-parsley-minlength="3"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s_-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Branch Name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="branch_code">Branch Code <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_code" placeholder="Enter Branch Code" name="branch_code" required maxlength="100" data-parsley-maxlength="100"
|
||||
data-parsley-pattern="^[a-zA-Z0-9_-]+$"
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, underscore (_) and hyphen (-).">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Branch Code can contain letters, numbers, spaces, underscore (_) and hyphen (-)."
|
||||
oninput="this.value = this.value.replace(/[^A-Za-z0-9_\- ]/g, '')"
|
||||
onblur="this.value = this.value.trim();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -280,7 +282,7 @@
|
||||
<div class="form-group col-md-6">
|
||||
<label for="district">District <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="district" placeholder="Enter District" name="district" required maxlength="100" data-parsley-maxlength="100"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="District can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
</div>
|
||||
@ -290,7 +292,7 @@
|
||||
<div class="form-group col-md-6">
|
||||
<label for="branch_city">City <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="branch_city" placeholder="Enter City" name="city" required maxlength="100" data-parsley-maxlength="100"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s-]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s-]+$"
|
||||
data-parsley-pattern-message="City can contain letters, numbers, spaces, and hyphens.">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
@ -325,8 +327,8 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label for="name">Name <span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" id="name" required maxlength="100" data-parsley-maxlength="100"
|
||||
data-parsley-pattern="^[A-Za-z\\s]+$"
|
||||
data-parsley-pattern-message="Contact name may contain only letters and spaces.">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Contact name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
@ -341,7 +343,7 @@
|
||||
<div class="form-group col-md-12">
|
||||
<label for="email">Email <span class="text-danger">*</span></label>
|
||||
<input value="" type="email" data-parsley-trigger="change" class="form-control" placeholder="Enter Contact Email" name="email[]" id="email" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern-message="Please enter a valid email format (e.g., name@domain.com).">
|
||||
</div>
|
||||
</div>
|
||||
@ -970,8 +972,8 @@ function renumberContacts() {
|
||||
<div class="form-group col-md-12">
|
||||
<label>Name<span class="text-danger">*</span></label>
|
||||
<input value="${contact ? contact.name : ''}" type="text" class="form-control" placeholder="Enter Contact Name" name="name[]" required maxlength="100" data-parsley-maxlength="100"
|
||||
data-parsley-pattern="^[A-Za-z\\s]+$"
|
||||
data-parsley-pattern-message="Contact name may contain only letters and spaces.">
|
||||
data-parsley-pattern="^[a-zA-Z0-9\s_-]+$"
|
||||
data-parsley-pattern-message="Contact name can contain letters, numbers, spaces, underscore (_) and hyphen (-).">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
@ -986,7 +988,7 @@ function renumberContacts() {
|
||||
<div class="form-group col-md-12">
|
||||
<label>Email<span class="text-danger">*</span></label>
|
||||
<input value="${contact ? contact.email : ''}" type="email" data-parsley-trigger="change" class="form-control" placeholder="Enter Contact Email" name="email[]" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
|
||||
data-parsley-pattern-message="Please enter a valid email format (e.g., name@domain.com).">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user