{"id":21174851,"url":"https://github.com/mindinventory/mifieldvalidator","last_synced_at":"2025-07-09T21:31:20.687Z","repository":{"id":108849250,"uuid":"215046557","full_name":"Mindinventory/MIFieldValidator","owner":"Mindinventory","description":"Field Validator is one of the smart class for validating fields in a single line of code.  It's a very smart code saver class to validate name, password, DOB, Change password, email, phone number and many more.....","archived":false,"fork":false,"pushed_at":"2021-07-30T11:11:40.000Z","size":9387,"stargazers_count":33,"open_issues_count":0,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-05T07:22:31.224Z","etag":null,"topics":["age","birthday","email","email-textfield","emailvalidation","empty","ios","iphone","mobile","password","password-textfield","phone-number","swift","textfield","validation","validation-plugin","validationmodel","validator"],"latest_commit_sha":null,"homepage":"https://www.mindinventory.com/iphone-application-development.php","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mindinventory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-10-14T13:07:21.000Z","updated_at":"2025-01-06T09:18:59.000Z","dependencies_parsed_at":"2023-04-01T12:18:21.968Z","dependency_job_id":null,"html_url":"https://github.com/Mindinventory/MIFieldValidator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mindinventory/MIFieldValidator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2FMIFieldValidator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2FMIFieldValidator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2FMIFieldValidator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2FMIFieldValidator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mindinventory","download_url":"https://codeload.github.com/Mindinventory/MIFieldValidator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2FMIFieldValidator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264503949,"owners_count":23618762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["age","birthday","email","email-textfield","emailvalidation","empty","ios","iphone","mobile","password","password-textfield","phone-number","swift","textfield","validation","validation-plugin","validationmodel","validator"],"created_at":"2024-11-20T16:56:24.998Z","updated_at":"2025-07-09T21:31:19.965Z","avatar_url":"https://github.com/Mindinventory.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MIFieldValidator\nField Validator is the simplest way to use custom field validator.This is one of the smart class for validating fields in a single line of code.  It's a very smart code saver class to validate name, password, DOB, Change password, email, phone number and many more.....\n \n### MIFieldValidator\n\u003cimg src = \"Media/MIFieldValidator.gif\" width=\"200\" height=\"400\"\u003e\n\n\n\n\n\n### Methods : 11\n\n1) static func isUserCanAbleToLogin(_ userName: String, _ password: String, _ isEmailLogin: Bool = true) -\u003e Bool\n2) static func isValidData(_ validationModel: [ValidationModel]) -\u003e Bool\n3) static func isMessageInRange(_ text: String?, _ charMaxLimit: Int, _ message: String) -\u003e Bool\n4) static func changePassword(currentPassword: String, _ oldPassword: String, _ newPassword: String, _ confirmPassword: String) -\u003e Bool\n5) static func checkPasswordsSame(_ password1: String, _ password2: String, _ isOldAndCurrent: Bool) -\u003e Bool\n6) static func isMatchedPasswords(_ password: String?, _ cPassword: String?) -\u003e Bool\n7) static func isValidPassword(_ text: String?, _ message: String?) -\u003e Bool\n8) static func isValidMobileNumber(_ text: String?) -\u003e Bool\n9) static func isValidEmail(_ text: String?) -\u003e Bool\n10) static func isNotBlank(_ text: String?, _ message: String) -\u003e Bool\n11) static func isDOB(_ minimumAge: Int = minAge, text: String?, date: Date?) -\u003e Bool\n\n### Key features \u0026 Use\n\n- - - \u003e Check Required Field(Not Empty) (Like FirstName, LastName, UserName etc…)\n\nEX:- Full Name Textfield -\u003e txtFName: \n\n\t\tMIValidation.isValidData([ValidationModel(validation: .notEmpty, value: txtFName.text, message: “Blank Full Name”)])\n\n- - - \u003e Validate Message Maximum Character Range\n\nEX:- Full Name Textfield -\u003e txtFName: \n\n\t\tMIValidation.isValidData([ValidationModel(validation: .msgRange, value: txtFName.text, message: “Blank Full Name”)])\n\n- - - \u003e Valid Email Address\n\nEX:- Email Textfield -\u003e txtFEmail: \n\n\t  MIValidation.isValidEmail(txtFEmail.text) — Return True or False\n\n- - - \u003e Valid Phone Number\n\t\t\nEX:- PhoneNumber Textfield -\u003e txtFPhoneNumber: \n\n\t  MIValidation.isValidMobileNumber(txtFPhoneNumber.text) — Return True or False\n\n- - - \u003e Validate Date of Birth (Minimum Age Validation)\n\nEX:- DOB Textfield -\u003e txtFDOB: \n\n\t\tMIValidation.isValidData([ValidationModel(validation: .dateOfBirth, value: txtFDOB.text, message: “Blank Date Of Birth”)])\n\n- - - \u003e Validate Password\n\nEX:- Password Textfield -\u003e txtFPassword: \n\n\t\tMIValidation.isValidData([ValidationModel(validation: .password, value: txtFDOB.text, message: “Blank Password”)])\n\n- - - \u003e Check Equality and Comparison\n\nEX:- New Password Textfield -\u003e txtFNewPass and Confirm Password -\u003e txtFCPass : \n\n\t\tMIValidation.checkPasswordsSame(txtFNewPass.text,  txtFCPass.text) — Return True Or False \n\n- - - \u003e Validate Credential  of Login Screen \n\nEX:- Email Textfield  -\u003e txtFEmail and Password Textfield -\u003e txtFPassword : \n\n\t\t— For Login Validation Only Call This\n\n\t  MIValidation.isUserCanAbleToLogin(txtFEmail.text, txtFPassword.text) — Return True or False\n\n- - - \u003e Validate Change Password\n\nEX:-  TextField Value\n\t\t- CurrentPassword = mind@123\n\t\t- OldPassword = txtFOldPass\n\t\t- NewPassword = txtFNewPass\n\t\t- ConfirmPassword = txtFConfirmPassword\n\t\n\t  — For Change Password Validation Only Call This\n\n\t  MIValidation.changePassword(currentPassword: “mind@123”, txtFOldPass.text, txtFNewPass.text, txtFConfirmPass.text)  \t\t\n\t  — Return True or False\n\n- - - \u003e Validate SignUp with Normal Fields\n\nEX:-  validation Array Look \n\n\t\tarrValidationModel = [ValidationModel(validation: .msgRange, value: txtFName.text, message: “Blank Full Name”),\n \t\t\t\t\t\tValidationModel(validation: .email, value: txtFEmailAddress.text, message: “Blank Email Address”),\n \t\t\t\t\t\tValidationModel(validation: .mobileNumber, value: txtFMobileNumber.text, message: “Blank Phone Number”), \n \t\t\t\t\t\tValidationModel(validation: .dateOfBirth, value: txtFDOB.text, message: “Blank Date Of Birth”, \n\t\t\t\t\t\tValidationModel(validation: .password, value: txtFPassword.text, message: “Blank Password”)]\n\n\t\t— For Sign Up Validation Call Only This\n\n\t\tMIValidation.isValidData(arrValidationModel) — Return True or false\n\n# Usage\n\n### Implementation\n\n* Step 1. Add the MIValidations.swift in your project\n \n* Step 2. Start using with your parameter\n\n### Requirements\n \n* Xcode 10.2 or later\n \n# LICENSE!\n\nMIFieldValidator is [MIT-licensed](/LICENSE).\n\n# Let us know!\nWe’d be really happy if you send us links to your projects where you use our component. Just send an email to sales@mindinventory.com And do let us know if you have any questions or suggestion regarding our work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindinventory%2Fmifieldvalidator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmindinventory%2Fmifieldvalidator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindinventory%2Fmifieldvalidator/lists"}