From fb26492066c73856c620b65b3c3510693da6216c Mon Sep 17 00:00:00 2001 From: Farhan Pathan Date: Mon, 17 Aug 2026 17:50:24 +0530 Subject: [PATCH] Team4 New Form : MONTAIR LC KID 5 - CHEMIST & DR TAGGING added validation --- ...dd7e-0b47-4fae-8ce1-c3abceecd87b.blade.php | 90 +++++++++++++++---- 1 file changed, 72 insertions(+), 18 deletions(-) diff --git a/resources/views/form/rapport-team4/1786942589-f94add7e-0b47-4fae-8ce1-c3abceecd87b.blade.php b/resources/views/form/rapport-team4/1786942589-f94add7e-0b47-4fae-8ce1-c3abceecd87b.blade.php index c988ad77..f76d2148 100644 --- a/resources/views/form/rapport-team4/1786942589-f94add7e-0b47-4fae-8ce1-c3abceecd87b.blade.php +++ b/resources/views/form/rapport-team4/1786942589-f94add7e-0b47-4fae-8ce1-c3abceecd87b.blade.php @@ -353,29 +353,83 @@ // ========================================== - // CHEMIST PHONE NUMBER VALIDATION - // Starts with 6-9 +// CHEMIST PHONE NUMBER VALIDATION +// Exactly 10 digits +// Starts from 6-9 +// ========================================== + +$(document).on( + 'input', + 'input[id^="field-chemist_"][id*="_number"]', + function () { + + // Allow digits only + this.value = this.value.replace(/[^0-9]/g, ''); + // Maximum 10 digits - // No negative, decimal or special characters - // Works for initial + dynamically added wrappers - // ========================================== - $(document).on( - 'input', - 'input[id^="field-chemist_"][id*="_number"]', - function () { + this.value = this.value.substring(0, 10); - // Allow digits only - this.value = this.value.replace(/[^0-9]/g, ''); + // First digit must be 6-9 + if ( + this.value.length > 0 && + !/^[6-9]/.test(this.value) + ) { - // Maximum 10 digits - this.value = this.value.substring(0, 10); + // Clear invalid value + this.value = ''; - // First digit must be 6-9 - if (this.value.length > 0 && !/^[6-9]/.test(this.value)) { - this.value = ''; - } + // Show popup only once + if (!$(this).data('invalid-start-shown')) { + + $(this).data('invalid-start-shown', true); + + Swal.fire({ + icon: 'warning', + title: 'Invalid Mobile Number', + text: 'Please enter a mobile number starting from 6-9.', + confirmButtonText: 'OK' + }).then(() => { + // Allow popup again if user enters another invalid value + $(this).removeData('invalid-start-shown'); + }); } - ); + } + } +); + + +// ========================================== +// EXACTLY 10 DIGITS VALIDATION +// ========================================== + +$(document).on( + 'blur', + 'input[id^="field-chemist_"][id*="_number"]', + function () { + + var mobileNumber = this.value.trim(); + + // Empty field - let required validation handle it + if (mobileNumber === '') { + return; + } + + // Must be exactly 10 digits and start with 6-9 + if (!/^[6-9][0-9]{9}$/.test(mobileNumber)) { + + Swal.fire({ + icon: 'warning', + title: 'Invalid Mobile Number', + text: 'Please enter a valid 10-digit mobile number.', + confirmButtonText: 'OK' + }); + + // IMPORTANT: + // Do NOT use this.focus() + // Otherwise Swal + blur can create a popup loop. + } + } +); // If an old/future date is already populated, clear it if ($('#field-record_date').val() !== today) {