4.0.0-beta0001
ChameleonForms now works against netcoreapp3.1!
Huge thanks to @zabulus for assisting with this epic conversion. This conversion started from the work @zabulus did in #161 to get ChameleonForms largely working in .NET Core 3.0 in February 2020 (after some initial work in February 2019 to start converting to .NET Core 2). I then took the initial port, and over the last 22 days poured over every line of code (including the tests) and brought it up to production quality with as many idiomatic .NET Core features as possible across 69 commits. This includes a full review of the documentation.
As part of this the following enhancements have also been made:
- Improved handling of binding and server-side validation of enum lists and flag enums
- Added HTML5
type
attributes for numbers (integral and floating point, including proper use ofstep
), emails, URLs - Added HTML5
required
attributes to required fields - Added
aria-describedby
to link hints with their form fields for screen readers - Added support for aspnet-validation (jQuery-less equivalent) in addition to jQuery Unobstrusive Validation
- Added service collection registration method (
.AddChameleonForms
), including fluent builder to allow for global configuration - Supported
.
date separator in client-side format-aware datetime validation library
The breaking changes are documented in BREAKING_CHANGES.md as per usual.
The plan from here is to keep it as a pre-release (beta) until bootstrap 4 and tag helper support is added (which feels like the idomatic way of using ChameleonForms in .NET Core), upon which it will be released as 4.0.0. Due to the high levels of test coverage we have a high degree of confidence in this release and are happy to recommend it's use in production scenarios using the existing HTML Helper / using
driven syntax (which still works great!).