- Implement
AsRegexforstd::sync::LazyLock<Regex> - Bug fix for nested issue with custom only running nested if outer passes
- Support
DeserializeforValidationErrors
- Swap to using proc-macro-error-2 instead of proc-macro-error for Syn
- Bumped MSRV to 1.81 because of error naming changes.
- Add more ValidateRegex impl
- Fix multiple custom validation
- Fix nested error handling
- Fix regressions from the derive rewrite, some things are back to 0.16 (eg custom functions)
- Remove require_nested, use required and nested validators instead
- Always require
nestedon the field for nested validation
- Derive macro has been entirely rewritten
- Validation is now done through traits that you can implement
- Remove phone validator
- Remove automatic use of serde rename for fields name (temporary)
- Allow passing code/message to
required - Add
does_not_containvalidator - Check email length before validating it
- Allow passing args to schema validator
- Implement HasLen for map/set types
- Remove
validator_typesfrom validator crate - Add ValidationErrors::errors_mut
- Ignore unsupported fields rather than erroring
- Allow passing arguments to custom functions
- Better
Displayimplementation - Better parsing of schema validation function in derive
- Allow multiple schema-level validations
- Allow
lengthandrangevalidators to take a reference to a variable - Make validator work with
Option<Vec<_>> - Support reference for length types
- Fix
phone,unicandcardfeature to actually work
- Add a
derivefeature so you don't need to addvalidator_deriveto yourCargo.toml
- Add a blanket Validate implementation for references
- Add
RequiredandRequiredNestedvalidators
- Add
non_control_charactersvalidation
ValidationErrors::errorsandValidationErrors::field_errorsnow use&selfinstead ofself- Move to edition 2018
- Change error type to allow use with nested validation
- Make validators work on
Cow
- Feature gate the card validator
- Fix credit card validation being incorrect in enum
- Add international phone number and credit card validation
- Re-design
ValidationErrorandValidatetrait
- Errors in the proc macro attributes will now point to the exact place the error is
- Handle
RequiredandRequiredNestedvalidators
- Update syn & quote
- Move to edition 2018
- Use literals in macros now that it's stable -> bumping minimum Rust version to 1.30
- Allow nested validation
- Make validators work on
Cow
- Update dependencies
- Feature gate the card validator
- Fix path for regex starting with
:: - Update syn and quote
- Support
Option<Option<T>>types
- Fix path for custom validators starting with
::
- Update syn and quote
- Add international phone number and credit card derive
- Change generated code to make the new design of errors work
- Fix range validator not working on Option
- Update to serde 1.0
- Fix potential conflicts with other attributes
- Validators now work on
Optionfield and struct/fields with lifetimes
- Add
containsandregexvalidator - BREAKING: change
Errorstype to be a newtype in order to extend it
- Remove need for
attr_literalsfeature - Fix error when not having validation on each field
- Add struct level validation
- Add
must_matchvalidator