diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp index a432c02..f401fbc 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp @@ -5,8 +5,6 @@ Date: 19-02-2026 #include #include -#include -#include #include "FoodDeliveryController.h" #include "Menu.h" #include "RestaurantOwnerMenu.h" @@ -22,6 +20,7 @@ Date: 19-02-2026 #include "DeliveryAssignment.h" #include "inputHelper.h" #include "outputHelper.h" +#include "Validator.h" #include "FileDatabase.h" const std::string USERS_FILE = "User.txt"; @@ -236,33 +235,6 @@ static deliveryAssignments::iterator selectDeliveryAssignmentFromList(deliveryAs return assignmentIterator; } -static bool isPhoneNumberValid(const std::string& phoneNumber) { - if (phoneNumber.size() != 10) - { - return false; - } - return std::all_of(phoneNumber.begin(), phoneNumber.end(), - [](char character) - { - return std::isdigit(character); - } - ); -} - -static bool isEmailValid(const std::string& email) { - size_t index = email.find('@'); - if (index == std::string::npos) return false; - if (email.find('@', index + 1) != std::string::npos) - { - return false; - } - if (index == 0 || index == email.size() - 1) - { - return false; - } - return true; -} - void FoodDeliveryController::loadUsers() { FileDatabase userDatabase(USERS_FILE); @@ -574,14 +546,14 @@ void FoodDeliveryController::registerUser() util::readString(name); std::cout << "Enter Phone: "; util::readString(phone); - if (!isPhoneNumberValid(phone)) + if (!util::isPhoneNumberValid(phone)) { std::cout << "Phone Number is Invalid. Cannot Register User!\n"; return; } std::cout << "Enter Email: "; util::readString(email); - if (!isEmailValid(email)) + if (!util::isEmailValid(email)) { std::cout << "Email ID is Invalid. Cannot Register User!\n"; return; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj index 873cedf..dc917d6 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj @@ -141,6 +141,7 @@ + @@ -160,6 +161,7 @@ + diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters index cd4c4e8..cc5d5ef 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters @@ -81,6 +81,9 @@ Utility + + Utility + @@ -134,6 +137,9 @@ Utility + + Utility + diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.cpp new file mode 100644 index 0000000..783049d --- /dev/null +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.cpp @@ -0,0 +1,33 @@ +/* +Author: Joel Mathew Thomas +Date: 25-02-2026 +*/ + +#include "Validator.h" + +bool util::isPhoneNumberValid(const std::string& phoneNumber) { + if (phoneNumber.size() != 10) + { + return false; + } + return std::all_of(phoneNumber.begin(), phoneNumber.end(), + [](char character) + { + return std::isdigit(character); + } + ); +} + +bool util::isEmailValid(const std::string& email) { + size_t index = email.find('@'); + if (index == std::string::npos) return false; + if (email.find('@', index + 1) != std::string::npos) + { + return false; + } + if (index == 0 || index == email.size() - 1) + { + return false; + } + return true; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.h new file mode 100644 index 0000000..05fff3e --- /dev/null +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Validator.h @@ -0,0 +1,15 @@ +/* +Author: Joel Mathew Thomas +Date: 25-02-2026 +*/ + +#pragma once +#include +#include +#include + +namespace util +{ + bool isPhoneNumberValid(const std::string&); + bool isEmailValid(const std::string&); +}