@ -425,7 +425,7 @@
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "pincode" > அஞ்சல் குறியீடு< span class = "req" > *< / span > < / label >
< label for = "pincode" > அஞ்சல் குறியீடு< span class = "req" > *< / span > < / label >
< input type = "text" class = "form-control" minlength = "6" maxlength = "6" pattern = "[0-9]{6}"
< input type = "text" class = "form-control" minlength = "6" maxlength = "6" pattern = "[0-9]{6}"
id="pincode" placeholder="E அஞ்சல் குறியீட்டை உள்ளிடவும்...">
id="pincode" placeholder="அஞ்சல் குறியீட்டை உள்ளிடவும்...">
< span class = "text-danger" id = "pincodeError" > < / span >
< span class = "text-danger" id = "pincodeError" > < / span >
< / div >
< / div >
@ -551,6 +551,24 @@
< / div >
< / div >
< div class = "form-row mb-4" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "docs" >
ஆவணம்< span class = "req" > *< / span >
< / label >
< select class = "form-control" id = "docs" >
< / select >
< span class = "text-danger" id = "docsError" > < / span >
< / div >
< / div >
<!-- Dynamic fields -->
< div class = "form-row" id = "documentFields" > < / div >
< / div >
< / div >
<!-- Individual Form -->
<!-- Individual Form -->
@ -570,9 +588,8 @@
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "cmpEmail" > நிறுவன மின்னஞ்சல் ஐடி< / label >
< label for = "cmpEmail" > நிறுவன மின்னஞ்சல் ஐடி< / label >
< input type = "text" class = "form-control" id = "cmpEmail"
placeholder="நிறுவன மின்னஞ்சல் முகவரியை உள்ளிடவும்">
< input type = "text" class = "form-control" id = "cmpEmail" placeholder = "நிறுவன மின்னஞ்சல் முகவரியை உள்ளிடவும்" >
< span class = "text-danger" id = "cmpEmailError" > < / span >
< / div >
< / div >
@ -643,7 +660,7 @@
< div class = "form-row mb-4" >
< div class = "form-row mb-4" >
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "cmpPoc" > பெயர் < span class = "req" > *< / span > < / label >
< label for = "cmpPoc" > பெயர் < span class = "req" > *< / span > < / label >
< input type = "text" class = "form-control" id = "cmpPoc" >
< input type = "text" class = "form-control" id = "cmpPoc" placeholder = "பெயரை உள்ளிடவும்" >
< span class = "text-danger" id = "cmpPocError" > < / span >
< span class = "text-danger" id = "cmpPocError" > < / span >
< / div >
< / div >
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
@ -663,7 +680,7 @@
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "cmdPom" > தொலைபேசி எண்< span class = "req" > *< / span > < / label >
< label for = "cmdPom" > தொலைபேசி எண்< span class = "req" > *< / span > < / label >
< input type = "number " class = "form-control" id = "cmdPom" placeholder = "கைபேசி எண்ணை உள்ளிடவும்..." >
< input type = "text " class = "form-control" id = "cmdPom" placeholder = "கைபேசி எண்ணை உள்ளிடவும்..." >
< span class = "text-danger" id = "cmdPomError" > < / span >
< span class = "text-danger" id = "cmdPomError" > < / span >
< / div >
< / div >
@ -708,7 +725,7 @@
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "ngoOrgEmail" > நிறுவன மின்னஞ்சல் ஐடி< / label >
< label for = "ngoOrgEmail" > நிறுவன மின்னஞ்சல் ஐடி< / label >
< input type = "text" class = "form-control" id = "ngoOrgEmail" placeholder = "மின்னஞ்சல் முகவரியை உள்ளிடவும்" >
< input type = "text" class = "form-control" id = "ngoOrgEmail" placeholder = "மின்னஞ்சல் முகவரியை உள்ளிடவும்" >
< span class = "text-danger" id = "ngoOrgEmailError" > < / span >
< / div >
< / div >
@ -798,7 +815,7 @@
< div class = "col-lg-12 col-md-12 mb-3" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "oPom" > தொலைபேசி எண் < span class = "req" > *< / span > < / label >
< label for = "oPom" > தொலைபேசி எண் < span class = "req" > *< / span > < / label >
< input type = "number " class = "form-control" id = "oPom" placeholder = "தொலைபேசி எண்ணை உள்ளிடவும்..." >
< input type = "text " class = "form-control" id = "oPom" placeholder = "தொலைபேசி எண்ணை உள்ளிடவும்..." >
< span class = "text-danger" id = "oPomError" > < / span >
< span class = "text-danger" id = "oPomError" > < / span >
< / div >
< / div >
< / div >
< / div >
@ -828,6 +845,41 @@
<!-- NGO Form -->
<!-- NGO Form -->
< div class = "form-row" >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "expertise" > நிபுணத்துவத் துறை< span class = "req" > *< / span > < / label >
< select class = "form-control" id = "expertise" >
< / select >
< span class = "text-danger" id = "expertiseError" > < / span >
< / div >
<!-- Dynamic Other Expertise field -->
< div class = "col-lg-12 col-md-12 mb-3" id = "otherExpertiseContainer" style = "display:none;" >
< label for = "otherExpertise" >
மற்ற நிபுணத்துவத்தைக் குறிப்பிடவும்< span class = "req" > *< / span >
< / label >
< input type = "text"
class="form-control"
id="other_expertise"
placeholder="மற்ற நிபுணத்துவத்தைக் குறிப்பிடவும்"
autocomplete="off">
< span class = "text-danger" id = "otherExpertiseError" > < / span >
< / div >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "ephno" > அவசரக்காலத் தொலைபேசி எண்< span class = "req" > *< / span > < / label >
< input type = "text" class = "form-control" id = "ephno" placeholder = "அவசரக்காலத் தொலைபேசி எண்" maxlength = "10" inputmode = "numeric" autocomplete = "off" required = "required" >
< span class = "text-danger" id = "ephnoError" > < / span >
< / div >
< / div >
<!-- Preferred area of work checkboxes -->
<!-- Preferred area of work checkboxes -->
< h5 > விருப்பமான பணியிடம்< span class = "req" > *< / span > < / h5 >
< h5 > விருப்பமான பணியிடம்< span class = "req" > *< / span > < / h5 >
< div class = "form-check mb-3" >
< div class = "form-check mb-3" >
@ -882,7 +934,7 @@
< div class = "form-check" >
< div class = "form-check" >
< input class = "form-check-input zone-checkbox" type = "checkbox" id = "zone6"
< input class = "form-check-input zone-checkbox" type = "checkbox" id = "zone6"
name="zone6" value="6-ThiruViKa Nagar" onclick="checkAnyArea()">
name="zone6" value="6-ThiruViKa Nagar" onclick="checkAnyArea()">
< label class = "zone-checkbox-label" for = "zone6" > மண்டலம் 6 < br > (திரு-வி-கா நகர்)< / label >
< label class = "zone-checkbox-label" for = "zone6" > மண்டலம் 6 < br > (திரு-வி-க நகர்)< / label >
< / div >
< / div >
< / div >
< / div >
< div class = "col-6" >
< div class = "col-6" >
@ -1093,6 +1145,69 @@
}
}
} */
} */
$("#name").on("input", function () {
this.value = this.value.replace(/[^a-zA-Z.\s]/g, '');
});
$("#cmpPoc").on("input", function () {
this.value = this.value.replace(/[^a-zA-Z.\s]/g, '');
});
$("#oPoc").on("input", function () {
this.value = this.value.replace(/[^a-zA-Z.\s]/g, '');
});
$("#dob").on("keydown paste drop", function (e) {
e.preventDefault();
});
$("#pincode").on("input", function () {
this.value = this.value.replace(/\D/g, '').slice(0, 6);
});
$("#ephno").on("input", function () {
this.value = this.value.replace(/\D/g, '').slice(0, 10);
});
$("#mobile").on("input", function () {
this.value = this.value.replace(/\D/g, '').slice(0, 10);
});
$("#cmdPom").on("input", function () {
this.value = this.value.replace(/\D/g, '').slice(0, 10);
});
$("#oPom").on("input", function () {
this.value = this.value.replace(/\D/g, '').slice(0, 10);
});
$("#expertise").on("change", function () {
var selectedOption = $(this).find("option:selected");
var selectedId = selectedOption.val();
var expertiseArea = selectedOption.attr("data-category") || "";
// Check ID = 7 OR expertise contains "Others"
var isOtherExpertise =
selectedId === "7" ||
expertiseArea.toLowerCase().includes("others");
if (isOtherExpertise) {
$("#otherExpertiseContainer").show();
} else {
$("#otherExpertiseContainer").hide();
// Clear previous value and error
$("#other_expertise").val("");
$("#otherExpertiseError").text("");
}
});
$(document).ready(function () {
$(document).ready(function () {
$.ajax({
$.ajax({
url: "/volunteer/api/registration/getAllCategory",
url: "/volunteer/api/registration/getAllCategory",
@ -1112,6 +1227,78 @@
});
});
}
}
});
});
$.ajax({
url: "/volunteer/api/registration/getAllExpertise",
type: "GET",
success: function (expertise) {
let expertiseDropdown = $('#expertise');
expertiseDropdown.empty();
expertiseDropdown.append(`< option value = "" > Select< / option > `);
expertise.forEach(function (exp) {
$('< option > ', {
value: exp.id,
text: exp.expertise_area_tamil
}).attr('data-category', exp.expertise_area_tamil)
.appendTo(expertiseDropdown);
});
}
});
});
$("#docs").on("change", function () {
var selectedOption = $(this).find("option:selected");
var labelName = selectedOption.attr("data-category") || "";
var option = $(this).val();
var documentFields = $("#documentFields");
documentFields.empty();
$("#docsError").text("");
if (option === "-1" || option === "") {
return;
}
var optionName = labelName;
var html = `
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "doc_number" >
${optionName} எண்< span class = "req" > *< / span >
< / label >
< input type = "text"
class="form-control"
id="doc_number"
name="doc_number"
placeholder="${optionName} எண்..."
autocomplete="off">
< span class = "text-danger" id = "docNumberError" > < / span >
< / div >
< div class = "col-lg-12 col-md-12 mb-3" >
< label for = "doc_url" >
${optionName} படம் (20 MB-க்கும் குறைவானது - jpg/jpeg/pdf)< span class = "req" > *< / span >
< / label >
< input type = "file"
class="form-control"
id="doc_url"
name="doc_url"
accept=".pdf,.jpg,.jpeg">
< span class = "text-danger" id = "docFileError" > < / span >
< / div >
`;
documentFields.html(html);
});
});
function handleCategoryChange() {
function handleCategoryChange() {
@ -1136,6 +1323,26 @@
$('.ngo-form').show();
$('.ngo-form').show();
} */
} */
if (selectedText === "1") {
if (selectedText === "1") {
$.ajax({
url: "/volunteer/api/registration/getAllVolunteerDocs",
type: "GET",
success: function (docsvalues) {
let docsDropdown = $('#docs');
docsDropdown.empty();
docsDropdown.append(`< option value = "" > Select< / option > `);
docsvalues.forEach(function (docs) {
$('< option > ', {
value: docs.id,
text: docs.tamil_name
}).attr('data-category', docs.tamil_name)
.appendTo(docsDropdown);
});
}
});
$('.individual-form').show();
$('.individual-form').show();
} else if (selectedText === "2") {
} else if (selectedText === "2") {
$('.corporate-form').show();
$('.corporate-form').show();
@ -1213,6 +1420,67 @@
isValid = false;
isValid = false;
}
}
var ephno = $.trim($("#ephno").val());
//console.log("ephno===="+ephno);
if (ephno === "") {
$("#ephnoError").text("அவசரகாலத் தொலைபேசி எண்ணை உள்ளிடவும்");
isValid = false;
} else if (!/^\d{10}$/.test(ephno)) {
$("#ephnoError").text("தொலைபேசி எண் சரியாக 10 இலக்கங்களைக் கொண்டிருக்க வேண்டும்");
isValid = false;
} else if (!/^[6-9]/.test(ephno)) {
$("#ephnoError").text("தொலைபேசி எண் 6, 7, 8 அல்லது 9-இல் தொடங்க வேண்டும்");
isValid = false;
}else if (/^(\d)\1{9}$/.test(ephno)) {
$("#ephnoError").text("தொலைபேசி எண்ணில் ஒரே இலக்கம் மீண்டும் மீண்டும் வரக்கூடாது");
isValid = false;
} else if (
ephno === "1234567890" ||
ephno === "0123456789" ||
ephno === "9876543210" ||
ephno === "0987654321"
) {
$("#ephnoError").text("சரியான தொலைபேசி எண்ணை உள்ளிடவும்");
isValid = false;
}
var selectedEOption = $("#expertise option:selected");
var expertisevalue = $.trim(selectedEOption.val());
var expertiseArea = $.trim(selectedEOption.attr("data-category") || "");
if (expertisevalue === "" || expertisevalue === "-1") {
$("#expertiseError").text("நிபுணத்துவம் உள்ள துறையைத் தேர்ந்தெடுக்கவும்");
isValid = false;
} else if (
expertisevalue === "7" ||
expertiseArea.toLowerCase().includes("others")
) {
var otherExpertise = $.trim($("#other_expertise").val());
if (otherExpertise === "") {
$("#otherExpertiseError").text("மற்ற நிபுணத்துவத்தைக் குறிப்பிடவும்");
isValid = false;
}
}
if (selectedTextcategory === "1") {
if (selectedTextcategory === "1") {
var name = document.getElementById("name").value = document.getElementById("name").value.trim();
var name = document.getElementById("name").value = document.getElementById("name").value.trim();
@ -1244,6 +1512,12 @@
$("#dobError").text("தயவுசெய்து பிறந்த தேதியை உள்ளிடவும்.");
$("#dobError").text("தயவுசெய்து பிறந்த தேதியை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if(email!=""){
if (!emailPattern.test(email)) {
$("#emailError").text("தயவுசெய்து சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
isValid = false;
}
}
if (!genderSelected) {
if (!genderSelected) {
$("#genderError").text("தயவுசெய்து பாலினத்தைத் தேர்ந்தெடுக்கவும்.");
$("#genderError").text("தயவுசெய்து பாலினத்தைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
@ -1262,6 +1536,33 @@
$("#mobileError").text("தயவுசெய்து சரியான 10 இலக்க அலைபேசி எண்ணை உள்ளிடவும்.");
$("#mobileError").text("தயவுசெய்து சரியான 10 இலக்க அலைபேசி எண்ணை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (!/^\d{10}$/.test(mobile)) {
$("#mobileError").text("தொலைபேசி எண்ணில் சரியாக 10 இலக்கங்கள் இருக்க வேண்டும்.");
isValid = false;
} if (!/^[6-9]/.test(mobile)) {
$("#mobileError").text("தொலைபேசி எண் 6, 7, 8 அல்லது 9-இல் தொடங்க வேண்டும்.");
isValid = false;
} if (/^(\d)\1{9}$/.test(mobile)) {
$("#mobileError").text("தொலைபேசி எண்ணில் ஒரே இலக்கம் மீண்டும் மீண்டும் வரக்கூடாது");
isValid = false;
} if (
mobile === "1234567890" ||
mobile === "0123456789" ||
mobile === "9876543210" ||
mobile === "0987654321"
) {
$("#mobileError").text("சரியான தொலைபேசி எண்ணை உள்ளிடவும்");
isValid = false;
}
if (address == undefined || address == "") {
if (address == undefined || address == "") {
$("#addressError").text("தயவுசெய்து முகவரியை உள்ளிடவும்.");
$("#addressError").text("தயவுசெய்து முகவரியை உள்ளிடவும்.");
isValid = false;
isValid = false;
@ -1296,11 +1597,120 @@
isValid = false;
isValid = false;
}*/
}*/
var docs = $.trim($("#docs").val());
if (docs === "" || docs === "-1") {
$("#docsError").text("ஆவணத்தைத் தேர்ந்தெடுக்கவும்");
isValid = false;
} else {
// Get selected document name
var selectedOption = $("#docs option:selected");
var documentName = $.trim(selectedOption.attr("data-category") || "");
// -----------------------------
// Document Number Validation
// -----------------------------
var docNumber = $.trim($("#doc_number").val());
if (docNumber === "") {
$("#docNumberError").text("" + documentName + " எண்ணை உள்ளிடவும்");
isValid = false;
}
if (docs === "1") {
// Aadhar = exactly 12 numeric digits
if (!/^\d{12}$/.test(docNumber)) {
$("#docNumberError").text(
"ஆதார் எண் சரியாக 12 இலக்கங்களைக் கொண்டிருக்க வேண்டும்"
);
isValid = false;
}
} else {
// Other documents = alphanumeric, max 10 characters
if (!/^[a-zA-Z0-9]{10}$/.test(docNumber)) {
$("#docNumberError").text(
documentName + " எண்ணில் எழுத்துக்கள் மற்றும் எண்கள் மட்டுமே இருக்க வேண்டும் (அதிகபட்சம் 10 எழுத்துக்கள்)"
);
isValid = false;
}
}
// -----------------------------
// Document File Validation
// -----------------------------
var docFileInput = $("#doc_url")[0];
if (!docFileInput || docFileInput.files.length === 0) {
$("#docFileError").text(
" " + documentName + " தேர்ந்தெடுக்கவும் "
);
isValid = false;
} else {
var docFile = docFileInput.files[0];
// Maximum 20 MB
var maxSize = 20 * 1024 * 1024;
if (docFile.size >= maxSize) {
$("#docFileError").text(
"அளவு 20 MB-க்குக் குறைவாக இருக்க வேண்டும்"
);
isValid = false;
}
// File type
var allowedTypes = [
"image/jpeg",
"application/pdf"
];
if (!allowedTypes.includes(docFile.type)) {
$("#docFileError").text(
"JPG, JPEG அல்லது PDF கோப்புகள் மட்டுமே அனுமதிக்கப்படும்"
);
isValid = false;
}
}
}
if (!preVolSelected) {
if (!preVolSelected) {
$("#prevolError").text("தயவுசெய்து முந்தைய தன்னார்வலர் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
$("#prevolError").text("தயவுசெய்து முந்தைய தன்னார்வலர் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
}
}
var cmobile = $.trim($("#mobile").val());
if(cmobile !== "" & & ephno !== "" & & cmobile === ephno){
Swal.fire({
title: "Warning!",
text: "கைபேசி எண்ணும் அவசரக்காலத் தொலைபேசி எண்ணும் ஒன்றாக இருக்கக்கூடாது",
icon: "warning",
confirmButtonText: "OK"
});
isValid = false;
}
/* if (ngoAny == undefined || ngoAny == "") {
/* if (ngoAny == undefined || ngoAny == "") {
$("#ngoAnyError").text("Please Enter Company/NGO details !");
$("#ngoAnyError").text("Please Enter Company/NGO details !");
isValid = false;
isValid = false;
@ -1316,6 +1726,37 @@
saveTheIndividualForm();
saveTheIndividualForm();
return false;
return false;
}
}
else{
var firstError = $(".text-danger")
.filter(function () {
return $.trim($(this).text()) !== "";
})
.first();
if (firstError.length) {
var target = firstError
.closest(".mb-3")
.find("input, select, textarea")
.first();
if (target.length) {
$("html, body").animate({
scrollTop: target.offset().top - 120
}, 600);
// Focus the field
target.focus();
}else {
// Fallback to error message
$("html, body").animate({
scrollTop: firstError.offset().top - 120
}, 600);
}
}
}
return false;
return false;
}
}
else if (selectedTextcategory === "2") {
else if (selectedTextcategory === "2") {
@ -1330,11 +1771,18 @@
var cmdPom = document.getElementById("cmdPom").value = document.getElementById("cmdPom").value.trim();
var cmdPom = document.getElementById("cmdPom").value = document.getElementById("cmdPom").value.trim();
var cmpPVolSelect = document.querySelector('input[name="cmpPVol"]:checked');
var cmpPVolSelect = document.querySelector('input[name="cmpPVol"]:checked');
var cmdPoE = document.getElementById("cmdPoE").value = document.getElementById("cmdPoE").value.trim();
var cmdPoE = document.getElementById("cmdPoE").value = document.getElementById("cmdPoE").value.trim();
var cmdPod = $("#cmdPod").val().trim();
if (cmpName == undefined || cmpName == "") {
if (cmpName == undefined || cmpName == "") {
$("#cmpNameError").text("தயவுசெய்து நிறுவனத்தின் பெயரை உள்ளிடவும்.");
$("#cmpNameError").text("தயவுசெய்து நிறுவனத்தின் பெயரை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if(cmpEmail!=""){
if (!emailPattern.test(cmpEmail)) {
$("#cmpEmailError").text("சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
isValid = false;
}
}
if (cmpAddress == undefined || cmpAddress == "") {
if (cmpAddress == undefined || cmpAddress == "") {
$("#cmpAddressError").text("தயவுசெய்து நிறுவனத்தின் முகவரியை உள்ளிடவும்.");
$("#cmpAddressError").text("தயவுசெய்து நிறுவனத்தின் முகவரியை உள்ளிடவும்.");
isValid = false;
isValid = false;
@ -1347,10 +1795,20 @@
$("#cmpNovError").text("தயவுசெய்து தன்னார்வலர்களின் எண்ணிக்கையை உள்ளிடவும்.");
$("#cmpNovError").text("தயவுசெய்து தன்னார்வலர்களின் எண்ணிக்கையை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (!/^[1-9]\d*$/.test(cmpNov)) {
$("#cmpNovError").text("சரியான எண்ணிக்கையிலான தன்னார்வலர்களை உள்ளிடவும்.");
isValid = false;
}
if (cmpPoc == undefined || cmpPoc == "") {
if (cmpPoc == undefined || cmpPoc == "") {
$("#cmpPocError").text("நடத்தைக்கான பொறுப்பாளர் பெயரை உள்ளிடவும்.");
$("#cmpPocError").text("நடத்தைக்கான பொறுப்பாளர் பெயரை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (cmdPod == "") {
$("#cmdPodError").text("நடத்தைக்கான பொறுப்பாளர் பதவியைக் குறிப்பிடவும்");
isValid = false;
}
if (cmdPoE === "" || !emailPattern.test(cmdPoE)) {
if (cmdPoE === "" || !emailPattern.test(cmdPoE)) {
$("#cmdPoEError").text("தொடர்பு கொள்ள வேண்டியவருக்கான சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
$("#cmdPoEError").text("தொடர்பு கொள்ள வேண்டியவருக்கான சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
isValid = false;
isValid = false;
@ -1359,10 +1817,52 @@
$("#cmdPomError").text("தொடர்பு கொள்ள வேண்டியவரின் செல்லுபடியாகும் அலைபேசி எண்ணை உள்ளிடவும்.");
$("#cmdPomError").text("தொடர்பு கொள்ள வேண்டியவரின் செல்லுபடியாகும் அலைபேசி எண்ணை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (!/^\d{10}$/.test(cmdPom)) {
$("#cmdPomError").text("தொலைபேசி எண்ணில் சரியாக 10 இலக்கங்கள் இருக்க வேண்டும்.");
isValid = false;
} if (!/^[6-9]/.test(cmdPom)) {
$("#cmdPomError").text("தொலைபேசி எண் 6, 7, 8 அல்லது 9-இல் தொடங்க வேண்டும்.");
isValid = false;
} if (/^(\d)\1{9}$/.test(cmdPom)) {
$("#cmdPomError").text("தொலைபேசி எண்ணில் ஒரே இலக்கம் மீண்டும் மீண்டும் வரக்கூடாது");
isValid = false;
} if (
cmdPom === "1234567890" ||
cmdPom === "0123456789" ||
cmdPom === "9876543210" ||
cmdPom === "0987654321"
) {
$("#cmdPomError").text("சரியான தொலைபேசி எண்ணை உள்ளிடவும்");
isValid = false;
}
if (!cmpPVolSelect) {
if (!cmpPVolSelect) {
$("#anyAreaError").text("தயவுசெய்து முந்தைய தன்னார்வலர்களின் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
$("#anyAreaError").text("தயவுசெய்து முந்தைய தன்னார்வலர்களின் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
}
}
var c1mobile = $.trim($("#cmdPom").val());
if(c1mobile !== "" & & ephno !== "" & & c1mobile === ephno){
Swal.fire({
title: "Warning!",
text: "கைபேசி எண்ணும் அவசரக்காலத் தொலைபேசி எண்ணும் ஒன்றாக இருக்கக்கூடாது",
icon: "warning",
confirmButtonText: "OK"
});
isValid = false;
}
if (i == 0) {
if (i == 0) {
alert("விருப்பமான பகுதி விவரங்களைத் தேர்ந்தெடுக்கவும்.");
alert("விருப்பமான பகுதி விவரங்களைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
@ -1375,6 +1875,37 @@
saveCorporateDetails();
saveCorporateDetails();
return false;
return false;
}
}
else{
var firstError = $(".text-danger")
.filter(function () {
return $.trim($(this).text()) !== "";
})
.first();
if (firstError.length) {
var target = firstError
.closest(".mb-3")
.find("input, select, textarea")
.first();
if (target.length) {
$("html, body").animate({
scrollTop: target.offset().top - 120
}, 600);
// Focus the field
target.focus();
}else {
// Fallback to error message
$("html, body").animate({
scrollTop: firstError.offset().top - 120
}, 600);
}
}
}
return false;
return false;
}
}
@ -1390,11 +1921,18 @@
var cmdPom = document.getElementById("oPom").value = document.getElementById("oPom").value.trim();
var cmdPom = document.getElementById("oPom").value = document.getElementById("oPom").value.trim();
var cmpPVolSelect = document.querySelector('input[name="oPvolY"]:checked');
var cmpPVolSelect = document.querySelector('input[name="oPvolY"]:checked');
var oPoE = document.getElementById("oPoE").value = document.getElementById("oPoE").value.trim();
var oPoE = document.getElementById("oPoE").value = document.getElementById("oPoE").value.trim();
var oPod = $("#oPod").val().trim();
if (cmpName == ""|| cmpName == undefined ) {
if (cmpName == ""|| cmpName == undefined ) {
$("#ngoOrgNameError").text("தயவுசெய்து நிறுவனத்தின் பெயரை உள்ளிடவும்");
$("#ngoOrgNameError").text("தயவுசெய்து நிறுவனத்தின் பெயரை உள்ளிடவும்");
isValid = false;
isValid = false;
}
}
if(ngoOrgEmail!=""){
if (!emailPattern.test(ngoOrgEmail)) {
$("#ngoOrgEmailError").text("சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
isValid = false;
}
}
if (cmpAddress == undefined || cmpAddress == "") {
if (cmpAddress == undefined || cmpAddress == "") {
$("#oAddressError").text("தயவுசெய்து நிறுவனத்தின் முகவரியை உள்ளிடவும்.");
$("#oAddressError").text("தயவுசெய்து நிறுவனத்தின் முகவரியை உள்ளிடவும்.");
isValid = false;
isValid = false;
@ -1407,10 +1945,20 @@
$("#oNvolError").text("தயவுசெய்து தன்னார்வலர்களின் எண்ணிக்கையை உள்ளிடவும்.");
$("#oNvolError").text("தயவுசெய்து தன்னார்வலர்களின் எண்ணிக்கையை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (!/^[1-9]\d*$/.test(cmpNov)) {
$("#oNvolError").text("சரியான எண்ணிக்கையிலான தன்னார்வலர்களை உள்ளிடவும்.");
isValid = false;
}
if (cmpPoc == undefined || cmpPoc == "") {
if (cmpPoc == undefined || cmpPoc == "") {
$("#oPocError").text("நடத்தைக்கான பொறுப்பாளர் பெயரை உள்ளிடவும்.");
$("#oPocError").text("நடத்தைக்கான பொறுப்பாளர் பெயரை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (oPod == "") {
$("#oPodError").text("நடத்தைக்கான பொறுப்பாளர் பதவியைக் குறிப்பிடவும்");
isValid = false;
}
if (oPoE === "" || !emailPattern.test(oPoE)) {
if (oPoE === "" || !emailPattern.test(oPoE)) {
$("#oPoeError").text("தொடர்பு கொள்ள வேண்டியவருக்கான சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
$("#oPoeError").text("தொடர்பு கொள்ள வேண்டியவருக்கான சரியான மின்னஞ்சல் முகவரியை உள்ளிடவும்.");
isValid = false;
isValid = false;
@ -1419,10 +1967,50 @@
$("#oPomError").text("தொடர்பு கொள்ள வேண்டியவரின் செல்லுபடியாகும் அலைபேசி எண்ணை உள்ளிடவும்.");
$("#oPomError").text("தொடர்பு கொள்ள வேண்டியவரின் செல்லுபடியாகும் அலைபேசி எண்ணை உள்ளிடவும்.");
isValid = false;
isValid = false;
}
}
if (!/^\d{10}$/.test(cmdPom)) {
$("#oPomError").text("தொலைபேசி எண்ணில் சரியாக 10 இலக்கங்கள் இருக்க வேண்டும்.");
isValid = false;
} if (!/^[6-9]/.test(cmdPom)) {
$("#oPomError").text("தொலைபேசி எண் 6, 7, 8 அல்லது 9-இல் தொடங்க வேண்டும்.");
isValid = false;
} if (/^(\d)\1{9}$/.test(cmdPom)) {
$("#oPomError").text("தொலைபேசி எண்ணில் ஒரே இலக்கம் மீண்டும் மீண்டும் வரக்கூடாது");
isValid = false;
} if (
cmdPom === "1234567890" ||
cmdPom === "0123456789" ||
cmdPom === "9876543210" ||
cmdPom === "0987654321"
) {
$("#oPomError").text("சரியான தொலைபேசி எண்ணை உள்ளிடவும்");
isValid = false;
}
if (!cmpPVolSelect) {
if (!cmpPVolSelect) {
$("#oPvolYError").text("தயவுசெய்து முந்தைய தன்னார்வலர்களின் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
$("#oPvolYError").text("தயவுசெய்து முந்தைய தன்னார்வலர்களின் விவரங்களைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
}
}
var c2mobile = $.trim($("#oPom").val());
if(c2mobile !== "" & & ephno !== "" & & c2mobile === ephno){
Swal.fire({
title: "Warning!",
text: "கைபேசி எண்ணும் அவசரக்காலத் தொலைபேசி எண்ணும் ஒன்றாக இருக்கக்கூடாது",
icon: "warning",
confirmButtonText: "OK"
});
isValid = false;
}
if (i == 0) {
if (i == 0) {
alert("விருப்பமான பகுதி விவரங்களைத் தேர்ந்தெடுக்கவும்.");
alert("விருப்பமான பகுதி விவரங்களைத் தேர்ந்தெடுக்கவும்.");
isValid = false;
isValid = false;
@ -1432,6 +2020,37 @@
saveNGODetails();
saveNGODetails();
return false;
return false;
}
}
else{
var firstError = $(".text-danger")
.filter(function () {
return $.trim($(this).text()) !== "";
})
.first();
if (firstError.length) {
var target = firstError
.closest(".mb-3")
.find("input, select, textarea")
.first();
if (target.length) {
$("html, body").animate({
scrollTop: target.offset().top - 120
}, 600);
// Focus the field
target.focus();
}else {
// Fallback to error message
$("html, body").animate({
scrollTop: firstError.offset().top - 120
}, 600);
}
}
}
return false;
return false;
}
}
@ -1471,16 +2090,44 @@
referBy: $("#ref").val(),
referBy: $("#ref").val(),
//aadhar: $("#aadhar").val(),
//aadhar: $("#aadhar").val(),
//bloodgroup: $("#bloodgroup").val(),
//bloodgroup: $("#bloodgroup").val(),
preferredAreas: preferredAreas
preferredAreas: preferredAreas,
expertise_area:$("#expertise").val(),
other_expertise:$("#other_expertise").val(),
ephno:$("#ephno").val(),
doc_type:$.trim($("#docs").val()),
doc_number:$.trim($("#doc_number").val()),
};
};
// Create FormData
var formData = new FormData();
// Add JSON data as Blob
formData.append(
"volunteer",
new Blob(
[JSON.stringify(volunteerData)],
{ type: "application/json" }
)
);
// Add file
var docFile = $("#doc_url")[0].files[0];
if (docFile) {
formData.append("doc_url", docFile);
}
$('#loader').show();
$('#loader').show();
// Send AJAX POST request
// Send AJAX POST request
$.ajax({
$.ajax({
type: "POST",
type: "POST",
url: "/volunteer/api/register",
url: "/volunteer/api/register",
contentType: "application/json",
data: JSON.stringify(volunteerData),
data: formData,
// IMPORTANT
processData: false,
contentType: false,
beforeSend: function() {
beforeSend: function() {
$("#pageLoader").show();
$("#pageLoader").show();
},
},
@ -1488,15 +2135,41 @@
$('#loader').hide();
$('#loader').hide();
successPopup(response);
successPopup(response);
},
},
error: function (error) {
alert("Error saving data!");
console.log(error);
error: function (xhr) {
$('#loader').hide();
$('#loader').hide();
console.log("Error status:", xhr.status);
console.log("Error response:", xhr.responseText);
if (xhr.status === 409) {
var response = xhr.responseJSON;
Swal.fire({
title: "Warning!",
text: response & & response.message
? response.message
: "This mobile number is already registered",
icon: "warning",
confirmButtonText: "OK"
});
} else {
Swal.fire({
title: "Error!",
text: "Unable to save registration. Please try again.",
icon: "error",
confirmButtonText: "OK"
});
}
// Allow user to submit again
$("#submitBtn").prop("disabled", false);
},
},
complete: function () {
complete: function () {
// Re-enable the submit button after completion (either success or error)
// Re-enable the submit button after completion (either success or error)
$("#submitBtn").prop("disabled", true);
$("#pageLoader").hide();
$("#pageLoader").hide();
}
}
});
});
@ -1525,7 +2198,10 @@
cntPerDesign: $("#cmdPod").val(),
cntPerDesign: $("#cmdPod").val(),
previous_volunteered: $("input[name='cmpPVol']:checked").val(),
previous_volunteered: $("input[name='cmpPVol']:checked").val(),
referBy: $("#ref").val(),
referBy: $("#ref").val(),
preferredAreas: preferredAreas
preferredAreas: preferredAreas,
expertise_area:$("#expertise").val(),
other_expertise:$("#other_expertise").val(),
ephno:$("#ephno").val(),
}
}
$('#loader').show();
$('#loader').show();
$.ajax({
$.ajax({
@ -1540,14 +2216,41 @@
$('#loader').hide();
$('#loader').hide();
successPopup(response);
successPopup(response);
},
},
error: function (error) {
alert("Error saving data!");
console.log(error);
error: function (xhr) {
$('#loader').hide();
$('#loader').hide();
console.log("Error status:", xhr.status);
console.log("Error response:", xhr.responseText);
if (xhr.status === 409) {
var response = xhr.responseJSON;
Swal.fire({
title: "Warning!",
text: response & & response.message
? response.message
: "This mobile number is already registered",
icon: "warning",
confirmButtonText: "OK"
});
} else {
Swal.fire({
title: "Error!",
text: "Unable to save registration. Please try again.",
icon: "error",
confirmButtonText: "OK"
});
}
// Allow user to submit again
$("#submitBtn").prop("disabled", false);
},
},
complete: function () {
complete: function () {
// Re-enable the submit button after completion (either success or error)
// Re-enable the submit button after completion (either success or error)
$("#submitBtn").prop("disabled", true);
$("#pageLoader").hide();
$("#pageLoader").hide();
},
},
@ -1579,7 +2282,10 @@
cntPerDesign: $("#oPod").val(),
cntPerDesign: $("#oPod").val(),
previous_volunteered: $("input[name='oPvolY']:checked").val(),
previous_volunteered: $("input[name='oPvolY']:checked").val(),
referBy: $("#ref").val(),
referBy: $("#ref").val(),
preferredAreas: preferredAreas
preferredAreas: preferredAreas,
expertise_area:$("#expertise").val(),
other_expertise:$("#other_expertise").val(),
ephno:$("#ephno").val(),
}
}
$('#loader').show();
$('#loader').show();
@ -1595,14 +2301,9 @@
$('#loader').hide();
$('#loader').hide();
successPopup(response);
successPopup(response);
},
},
error: function (error) {
alert("Error saving data!");
console.log(error);
$('#loader').hide();
},
complete: function () {
complete: function () {
// Re-enable the submit button after completion (either success or error)
// Re-enable the submit button after completion (either success or error)
$("#submitBtn").prop("disabled", true);
$("#pageLoader").hide();
$("#pageLoader").hide();
},
},
});
});