Finbuckle.Html5Validation
9.0.0
Prefix Reserved
dotnet add package Finbuckle.Html5Validation --version 9.0.0
NuGet\Install-Package Finbuckle.Html5Validation -Version 9.0.0
<PackageReference Include="Finbuckle.Html5Validation" Version="9.0.0" />
<PackageVersion Include="Finbuckle.Html5Validation" Version="9.0.0" />
<PackageReference Include="Finbuckle.Html5Validation" />
paket add Finbuckle.Html5Validation --version 9.0.0
#r "nuget: Finbuckle.Html5Validation, 9.0.0"
#:package Finbuckle.Html5Validation@9.0.0
#addin nuget:?package=Finbuckle.Html5Validation&version=9.0.0
#tool nuget:?package=Finbuckle.Html5Validation&version=9.0.0
Finbuckle.Html5Validation
- Introduction
- What's New in v<span class="_version">9.0.0</span>
- Installation
- Supported Data Annotations
- FAQ
- License
Introduction
Client side form validation in ASP.NET Core stinks.
Specifically, tag helpers and HTMLHelper
methods
generate non-standard validation attributes
and require the use of the jquery.validate
and jquery.validate.unobtrusive
libraries.
This library overrides this behavior to generate standard HTML5 validation attributes.
<a name="whats-new"></a> What's New in v<span class="_version">9.0.0</span>
This section only lists release update details specific to v<span class="_version">9.0.0</span>. See the changelog file for all release update details.
⚠ BREAKING CHANGES
- .NET 6 support removed
Features
- add .NET 9 and package lockfile support (21606eb)
Installation
Add the
Finbuckle.Html5Validation
NuGet package to your project.Add the
Html5Validation
service to your app:
using Finbuckle.Html5Validation;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHtml5Validation();
// Rest of app code omitted.
Supported Data Annotations
The following data annotations are supported:
Attribute | ASP.NET Core | Finbuckle.Html5Validation | |
---|---|---|---|
[Required] |
- data-val=true <br> - data-val-required="{message}" |
- required |
|
[MinLength] |
- minlength="{min}" <br> - data-val=true <br> - data-val-minlength="{message}" <br>- data-val-maxlength-min="{min}" |
- minlength="{min}" |
|
[MaxLength] |
- maxlength="{max}" <br> - data-val=true <br> - data-val-maxlength="{message}" <br>- data-val-maxlength-max="{max}" |
- maxlength="{max}" |
|
[StringLength] |
- minlength="{min}" <br> - maxlength="{max}" <br> - data-val=true <br> - data-val-maxlength="{message}" <br>- data-val-maxlength-max="{max}" <br> - data-val-minlength="{message}" <br> - data-val-maxlength-min="{min}" |
- minlength="{min}" <br> - maxlength="{max}" |
|
[Range] |
- data-val=true <br> - data-val-range="{message}" <br> - data-val-range-min="{min}" <br>- data-val-range-max="{max}" |
- min="{min}" <br> - max="{max}" |
|
[RegularExpression] |
- data-val=true <br> - data-val-regex="{message}" <br> - data-val-regex-pattern="{regex}" |
- pattern="{regex}" |
|
[DataType(DataType.{type}] |
- type="{type}" <br> - data-val=true <br> - data-val-{type}="{message}" |
- type="{type}" |
|
[EmailAddress] |
- type="email" <br> - data-val=true <br> - data-val-email="{message}" |
- type="email" |
|
[Phone] |
- type="tel" <br> - data-val=true <br> - data-val-phone="{message}" |
- type="tel" |
|
[Url] |
- type="url" <br> - data-val=true <br> - data-val-url="{message}" |
- type="url" |
Note that
[DataType(DataType.{type})]
only supports simple types such as email, phone, and url.
Installation
Add the
Finbuckle.Html5Validation
NuGet package to your project.In your app configuration add the
Html5Validation
service:
using Finbuckle.Html5Validation;
var builder = WebApplication.CreateBuilder(args);
// ... Add normal services.
// Add Finbuclke.Html5Validation.
builder.Services.AddHtml5Validation();
// ... rest of file omitted.
FAQ
Why not just use the
jquery.validate
andjquery.validate.unobtrusive
libraries?These libraries are not standard HTML5 validation attributes and require additional JavaScript libraries to work. This library generates standard HTML5 validation attributes that work out of the box with modern browsers.
Does it have any imapct on server side validation?
No, this library only affects client-side validation.
Does this library work with Blazor?
No, this library only works with ASP.NET Core MVC Razor Pages and MVC apps that use tag helpers and
HTMLHelper
form input methods.
License
This project is licensed under the MIT License. See LICENSE file for license information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.