Blazor EditForm Validation – Custom Rules & Examples
Learn how Blazor EditForm validation works and how to implement custom rules. Includes practical examples and code.
");mask-image:url("data:image/svg+xml;utf8,");-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;background:var(--color-text-white)}body .ascendoor-button.ascendoor-button-noborder-noalternate a{color:var(--primary-color);background:0 0;padding:0}body .ascendoor-button.ascendoor-button-noborder-noalternate a:before{display:none}body .ascendoor-button.ascendoor-button-noborder-noalternate a:after{background:var(--primary-color)}input[type=search]{color:#666;border:1px solid #ccc;border-radius:3px;padding:3px}.right-sidebar .ascendoor-wrapper .ascendoor-page{display:grid;grid-gap:30px;grid-template-columns:auto 25%;grid-template-areas:"main sidebar";padding-top:50px}@media (max-width:991px){.right-sidebar .ascendoor-wrapper .ascendoor-page{grid-template-columns:1fr;grid-template-areas:"main" "sidebar"}}.right-sidebar .ascendoor-wrapper .ascendoor-page .site-main{grid-area:main;overflow:hidden}.right-sidebar .ascendoor-wrapper .ascendoor-page .widget-area{grid-area:sidebar}.left-sidebar .ascendoor-wrapper .ascendoor-page .site-main{grid-area:main;overflow:hidden}.left-sidebar .ascendoor-wrapper .ascendoor-page .widget-area{grid-area:sidebar}.main-navigation{display:block;width:100%}.main-navigation ul{display:none;list-style:none;margin:0;padding-left:0}.main-navigation li{position:relative}.main-navigation a{color:#fff;padding:17px 20px;font-size:.9375rem;color:var(--text-color-main);text-transform:uppercase;display:block;text-decoration:none;opacity:.9}@media (min-width:992px){.main-navigation a{font-weight:700}}.menu-toggle{display:block}@media (max-width:991px){.main-navigation ul a{color:#000}}@media screen and (min-width:992px){.menu-toggle{display:none}.main-navigation ul{display:flex!important;flex-wrap:wrap;margin-inline-end:-20px;align-items:stretch}}@media (max-width:991px){.bottom-header-part-wrapper .navigation-part{align-items:center}#site-navigation button.menu-toggle{width:35px;height:35px;position:relative;transform:rotate(0deg);padding:0;background:0 0;border:none;margin:9px 5px 9px auto}#site-navigation button.menu-toggle span{display:block;position:absolute;height:3px;width:100%;background:var(--primary-color);border-radius:3px;opacity:1;left:0;transform:rotate(0deg)}#site-navigation button.menu-toggle span:nth-child(1){top:calc(50% - 15px)}#site-navigation button.menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}#site-navigation button.menu-toggle span:nth-child(3){bottom:calc(50% - 15px)}#site-navigation .main-navigation-links{position:fixed;right:-130%;height:100%;top:0;background-color:#fff;min-width:300px;padding-top:60px;padding-right:10px;width:60%;display:block;border-right:1px solid #fff;z-index:13;box-shadow:2px 0 18px 0 rgba(0,0,0,.5);opacity:0;visibility:hidden}}@media (max-width:600px){#site-navigation button.menu-toggle{margin:0;margin-inline-end:auto}}@media (max-width:480px){#site-navigation .main-navigation-links{width:80%}}.post{margin:0 0 1.7em}.updated:not(.published){display:none}.site-main article{margin-bottom:2.5rem}.site-main article .post-thumbnail{display:block;line-height:0}.site-main article .post-thumbnail img{width:100%}.travel-post-single .travel-post-img{overflow:hidden;aspect-ratio:1/0.7}.travel-post-single .travel-post-img a{display:block;height:100%}.travel-post-single .travel-post-img a img{height:100%;width:100%;object-fit:cover}.travel-post-single .travel-post-detail{padding-top:15px}.travel-post-single .travel-post-detail .ascendoor-cat-links a{font-weight:700;text-decoration:none;color:var(--text-color-main);display:inline-block;margin-inline-end:5px;margin-block-end:5px}.travel-post-single .travel-post-detail .travel-post-title{font-size:var(--font-size-md);line-height:1.2;margin-top:0;font-family:var(--font-main);margin-bottom:10px}.travel-post-single .travel-post-detail .travel-post-title a{text-decoration:none;color:var(--text-color-main);display:inline-block}.travel-post-single .travel-post-detail .travel-meta{font-size:var(--font-size-sm);margin-bottom:10px}.travel-post-single .travel-post-detail .travel-meta a{text-decoration:none;color:var(--text-color-main)}.travel-post-single .travel-post-detail .travel-exverpt{margin-bottom:10px}.travel-post-single .travel-post-detail .ascendoor-button{display:inline-block}.archive-layout{margin-block:30px}.archive-layout.grid-style{display:grid;grid-gap:30px}.archive-layout.grid-style article{margin-bottom:0}.archive-layout.grid-style.column-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:480px){.archive-layout.grid-style.column-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-left:0;margin-inline:0}.wp-block-latest-posts.wp-block-latest-posts__list li>a{text-decoration:none;color:var(--color-text-main)}.header-banner .page-header .page-title{margin-bottom:0}nav.breadcrumb-trail ul.trail-items{list-style:none;padding:0;margin:0;color:var(--color-text-main)}nav.breadcrumb-trail ul.trail-items li{display:inline-block}nav.breadcrumb-trail ul.trail-items li a{text-decoration:none;color:var(--color-text-main)}nav.breadcrumb-trail ul.trail-items li:after{margin:0 .3rem}nav.breadcrumb-trail ul.trail-items li:last-child:after{display:none}.widget{margin:0 0 1.5em}.widget h2{font-size:var(--font-size-base);font-family:var(--font-main);line-height:1.3;margin:0 0 20px;position:relative}.widget ul{padding:0;margin:0;list-style:none}.widget ul li{font-size:14px;line-height:1.5em}.widget ul.children li.cat-item{margin:0 0 0 3em}.widget ul li a{text-decoration:none;color:var(--color-text-main)}.widget ul>li:not(:last-child){margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid rgba(0,0,0,.1)}.custom-logo-link{display:inline-block}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}#loader{overflow-x:hidden;overflow-y:hidden;vertical-align:middle;background-color:var(--background-color-white);position:fixed;display:table;width:100%;top:0;left:0;height:100%;min-height:100%;z-index:99999}#loader .loader-container{position:relative;display:table-cell;vertical-align:middle;z-index:12;text-align:center;text-transform:uppercase}#loader .loader-container #preloader{position:relative;margin:auto;width:75px}#loader .loader-container #preloader.loader-1 .dot{height:30px;aspect-ratio:2.5;--_g:no-repeat radial-gradient(farthest-side,var(--primary-color) 90%,#0000);background:var(--_g),var(--_g),var(--_g),var(--_g);background-size:20% 50%;animation:d4 1s infinite linear alternate}@keyframes d4{0%,5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}12.5%{background-position:calc(0*100%/3) 0,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}25%{background-position:calc(0*100%/3) 0,calc(1*100%/3) 0,calc(2*100%/3) 50%,calc(3*100%/3) 50%}37.5%{background-position:calc(0*100%/3) 100%,calc(1*100%/3) 0,calc(2*100%/3) 0,calc(3*100%/3) 50%}50%{background-position:calc(0*100%/3) 100%,calc(1*100%/3) 100%,calc(2*100%/3) 0,calc(3*100%/3) 0}62.5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 100%,calc(2*100%/3) 100%,calc(3*100%/3) 0}75%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 100%,calc(3*100%/3) 100%}87.5%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 100%}95%,100%{background-position:calc(0*100%/3) 50%,calc(1*100%/3) 50%,calc(2*100%/3) 50%,calc(3*100%/3) 50%}}#loader .loader-container #preloader.loader-4 .dot:before,#loader .loader-container #preloader.loader-4 .dot:after{content:"";height:inherit;aspect-ratio:1;grid-area:1/1;margin:auto;border-radius:50%;transform-origin:-100% 50%;background:currentColor;animation:d9 1s infinite linear}@keyframes d9{58%,100%{transform:rotate(calc(var(--s,1)*1turn))}}header.site-header{position:relative}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part{background:0 0;padding-block:10px}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper{flex-direction:column;align-items:unset}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding{display:flex;align-items:center;gap:10px}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding{flex-direction:column;align-items:unset;text-align:center}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-logo{width:50px}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-logo{width:auto;max-width:150px;margin-inline:auto}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title{font-size:30px;line-height:1.1;font-weight:700;margin:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title a{text-decoration:none;color:var(--color-text-white)}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{margin-bottom:0;margin-top:5px;color:var(--color-text-white)}@media (max-width:480px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{font-size:.8rem;margin-top:0}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part{display:flex;align-items:center;gap:10px}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search{position:relative;display:inline-block;text-align:center}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search{position:unset}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-icon{display:flex;justify-content:center;align-items:center;width:35px;height:35px;border-radius:50%;background-color:var(--primary-color);font-size:14px;color:var(--color-text-white);font-weight:700;text-align:center;text-decoration:none;outline:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form{position:absolute;background:#fff;inset-inline-end:0;opacity:0;visibility:hidden;top:100%;width:325px;padding:14px;z-index:99;box-shadow:0 8px 20px rgba(0,0,0,.2)}@media (max-width:600px){header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form{width:100%}}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form{display:flex}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form label{width:75%}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form label input{width:100%;border-radius:0}header.site-header .header-main-wrapper .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .navigation-part .header-search .header-search-wrap .header-search-form .search-form input.search-submit{border:1px solid var(--primary-color);border-radius:0;padding:0;font-size:13px;width:25%;margin:0}header.site-header .header-main-wrapper:not(.transparent-header){background-color:#fff}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part{border-bottom:1px solid #f3f1ef}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-title a{color:var(--header-text-color)}header.site-header .header-main-wrapper:not(.transparent-header) .bottom-header-outer-wrapper .bottom-header-part .bottom-header-part-wrapper .site-branding .site-identity .site-description{color:var(--color-text-main)}a.explore-blog-scroll-to-top{position:fixed;bottom:55px;right:30px;height:50px;width:50px;opacity:0;visibility:hidden;z-index:17;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-white);background-color:var(--primary-color);border:1px solid var(--color-text-white)}:root{--header-text-color:#0591bc}:root{--font-heading:"Montserrat",serif;--font-main:-apple-system,BlinkMacSystemFont,"Poppins","Segoe UI",Montserrat,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}body,button,input{font-family:"Poppins",serif}.site-title a{font-family:"Montserrat",serif}.site-description{font-family:"Montserrat",serif}:root{--hcb--fz:var(--hcb--fz--base,14px);--hcb--ff:"Menlo","Consolas","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;--hcb--pY:1.75em;--hcb--pX:1.5em;--hcb--radius:3px;--hcb--linenumW:3.5ch;--hcb--data-label:attr(data-lang);--hcb--btn-offset:20px;--hcb--c:#1f1e1e;--hcb--tsh:unset;--hcb--bgc:#f8f6f6;--hcb--data-label--c:#1f1e1e;--hcb--data-label--bgc:#e8e8e8;--hcb--line-numbers--c:#999;--hcb--highlight-color:#9678641a;--hcb--file-icon:url(/wp-content/plugins/highlighting-code-block/assets/img/file-icon-light.svg);--hcb--scbar-track--bgc:#9696961a;--hcb--scbar-thumb--bgc:#96969640}:root{--hcb--c:#f9f9f6;--hcb--bgc:#2d2e29;--hcb--data-label--c:#fff;--hcb--data-label--bgc:#20211f;--hcb--line-numbers--c:#a3a3a3;--hcb--highlight-color:#fffaf51a;--hcb--file-icon:url(/wp-content/plugins/highlighting-code-block/assets/img/file-icon-dark.svg);--hcb--scbar-track--bgc:#ffffff1a;--hcb--scbar-thumb--bgc:#fff3}@media screen and (max-width:599px){:root{--hcb--fz:var(--hcb--fz--mobile,13px)}}:root{--hcb--fz--base:14px}:root{--hcb--fz--mobile:13px}:root{--hcb--ff:Menlo,Consolas,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif}.trail-items li:after{content:"/"}:root{--wpforms-field-border-radius:3px;--wpforms-field-background-color:#fff;--wpforms-field-border-color:rgba(0,0,0,.25);--wpforms-field-text-color:rgba(0,0,0,.7);--wpforms-label-color:rgba(0,0,0,.85);--wpforms-label-sublabel-color:rgba(0,0,0,.55);--wpforms-label-error-color:#d63637;--wpforms-button-border-radius:3px;--wpforms-button-background-color:#066aab;--wpforms-button-text-color:#fff;--wpforms-field-size-input-height:43px;--wpforms-field-size-input-spacing:15px;--wpforms-field-size-font-size:16px;--wpforms-field-size-line-height:19px;--wpforms-field-size-padding-h:14px;--wpforms-field-size-checkbox-size:16px;--wpforms-field-size-sublabel-spacing:5px;--wpforms-field-size-icon-size:1;--wpforms-label-size-font-size:16px;--wpforms-label-size-line-height:19px;--wpforms-label-size-sublabel-font-size:14px;--wpforms-label-size-sublabel-line-height:17px;--wpforms-button-size-font-size:17px;--wpforms-button-size-height:41px;--wpforms-button-size-padding-h:15px;--wpforms-button-size-margin-top:10px}.wpforms-container .wpforms-form *{word-break:break-word;hyphens:auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.wpforms-container .wpforms-submit-spinner{margin-left:15px;display:inline-block;vertical-align:middle}.wpforms-container .wpforms-hidden{display:none!important}div.wpforms-container-full *{background:0 0;border:0 none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;float:none;font-size:100%;height:auto;letter-spacing:normal;outline:none;position:static;text-indent:0;text-shadow:none;text-transform:none;width:auto;visibility:visible;overflow:visible;margin:0;padding:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none}div.wpforms-container-full input{margin:0;border:0;padding:0;vertical-align:middle;background:0 0;height:auto;box-sizing:border-box}div.wpforms-container-full .wpforms-form .wpforms-submit-spinner{max-width:26px}div.wpforms-container-full input{height:var(--wpforms-field-size-input-height)}
Unlocking the Power of .NET – Empowering Developers, One Byte at a Time!
Learn how Blazor EditForm validation works and how to implement custom rules. Includes practical examples and code.
Learn Blazor routing and NavigationManager with examples. From query strings to route guards, master smooth navigation in your Blazor apps.
Learn Blazor Layouts from scratch. Discover layouts, CSS isolation & UI frameworks in Blazor. Boost your UI skills fast!
Master Blazor components and data binding with practical examples. Learn parent-child communication, event handling and UI binding in Blazor.
Learn everything about Blazor in this comprehensive overview. Discover Blazor WebAssembly, Blazor Server, components, data binding, and more.
Wondering why learn C#? Discover 15 powerful reasons why C# is the smart career choice in 2025 for apps, games, and cloud development.