Releases: jwaliszko/ExpressiveAnnotations
v2.7.1
- added possibility of custom methods registration outside of the model scope,
- fix error during validation, thrown due to broken member names extraction (in MVC and WebAPI).
This product version contains following components:
ExpressiveAnnotations.dll v2.4.1, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.7, expressive.annotations.validate.js v2.6.6
v2.7.0
- parser functionality extended:
- binary (
0b...
) and hexadecimal (0x...
) literals supported, - bitwise operators supported:
a&b
,a|b
,a^b
,~a
,a<<b
, a>>b
, - modulo operator supported:
a%b
, - conditional ternary operator supported:
a?b:c
.
- binary (
- additional constructor, accepting error message accessor (e.g.
CustomAttribute() : base( () => MyResources.MyErrorMessage ) {}
), added to base expressive attribute, - fix in client validation rules naming related to suffix allocation,
- change securing from inefficient applications of requirement attributes (to fields of non-nullable value types) - when detected appropriate exception is thrown,
- error messages formatting fixes,
- severe refactoring.
This product version contains following components:
ExpressiveAnnotations.dll v2.4.0, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.6, expressive.annotations.validate.js v2.6.6
v2.6.8
v2.6.7
v2.6.6
- handling not only
Display
, but also olderDisplayName
attributes, - built-in
Date()
method modified at client, to reflect its server-side equivalent behavior, e.g.Date(1,1,1)
returns now 01/01/001 at client-side, not 01/01/1901 as before, - redundant logic, related to adapters names differentiation, removed when multiple models instances of the same type are being processed (e.g. during collection rendering).
This product version contains following components:
ExpressiveAnnotations.dll v2.3.6, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.5, expressive.annotations.validate.js v2.6.6
v2.6.5
- float recognition fix (scientific notation handled better, consistency between toolchain and lexer, etc.)
- regexes compilation turned off in remaining places (performance fix),
- script settings verification,
- consts ambiguity error fixed,
- refactoring (according to C# 6.0 + minor fixes, tests, dead code removed, coverage improved).
This product version contains following components:
ExpressiveAnnotations.dll v2.3.5, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.4, expressive.annotations.validate.js v2.6.5
v2.6.4
- display names extraction allowed in error messages, e.g.
{field:n}
, - format items ambiguity fixes for error message processing,
ValueParserAttribute
moved to core library (namespace changed),- global overriding of default parsing logic allowed, i.e.
ea.addValueParser('typename', ...
, - client exceptions catched and logged (no abort),
- triggers binding changed (dynamically created elements can be re-bound),
- validators caching fix.
This product version contains following components:
ExpressiveAnnotations.dll v2.3.4, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.3, expressive.annotations.validate.js v2.6.4
v2.6.3
v2.6.2
- enhancement - fields values extraction possibility in error messages (at both, client- and server-sides) with the help of new format specifiers, given in curly brackets, e.g.
{field}
,{field.field}
(braces can be escaped by double-braces, i.e. to output a{
use{{
and to output a}
use}}
), - slight optimization - empty client validation parameters not included in validation rules, and the same not sent to client - cleaner html.
This product version contains following components:
ExpressiveAnnotations.dll v2.3.3, ExpressiveAnnotations.MvcUnobtrusive.dll v2.4.2, expressive.annotations.validate.js v2.6.2
v2.6.1
- slight enhancements:
- value parser used additionally (if provided) to preprocess value of currently validated field,
- DOM field name (full name) provided as additional argument to value parser function (to give a hint for which field exactly current parser was invoked),
dependencyTriggers
variable can be changed from external script, after primary initialization of ea script is done, (api.settings.apply()
method introduced),
- fix - references validation functionality recognizes multiple forms,
- slight optimization - number of value parsers narrowed down (to essential ones only) when sent to clients.