Skip to content

Releases: jwaliszko/ExpressiveAnnotations

v2.1.0

17 Jul 19:31
Compare
Choose a tag to compare
  • basic arithmetic operations handled by parser: addition, subtraction, multiplication and division,
  • short-circuit evaluation,
  • several toolchain functions added,
  • noConflict(),
  • few minor fixes.

v2.0.0

09 Jul 15:23
Compare
Choose a tag to compare
  • changed concept when compared to EA1:
    • much more complex expressions accepted (restricted to given EBNF grammar),
    • RequiredIfExpression and AssertThatExpression attributes removed - their functionality is now taken over by modified RequiredIf and AssertThat,
    • attributes API does not explicitly expose DependentProperties, TargetValues and RelationalOperators properties as before - all of this should be now provided directly to the expression (types are clearly recognized by their literal identifiers, just like in C#),
    • RequiredIf attribute does allow flase boolean values by default - stronger separation of concepts, where AssertThat should be used for the value correctness verification (is the value correct), and RequiredIf should be used for the value requirement verification (is the value provided),
    • toolchain of utility functions predefined (functions can be used inside expressions now),
    • new custom functions definition is allowed (for server, and for client side also - when ASP.NET MVC client side validation is the concern),
    • expressive.annotations.analysis.js file removed from client side component of ASP.NET MVC - only one file is required, namely expressive.annotations.validate.js.

v1.4.2

08 Jul 16:20
Compare
Choose a tag to compare
  • client side fix for AssertThat attributes when used with checkboxes,
  • refactoring of scripts (full eradication of jsLint hints).

v1.4.1

05 Jul 10:51
Compare
Choose a tag to compare
  • member names provided to validation results,
  • most types changed to be internal since there is no necessity to unveil them,
  • redundant instructions removed.

v1.4.0

16 Jun 09:44
Compare
Choose a tag to compare
  • namespaces changed,
  • JSLint more happy,
  • expressions printing fix,
  • AllowEmptyOrFalse - possibility of indicating what input is treated as valid for RequiredIf attributes - at server side null is never allowed, but empty and whitespace strings or false boolean values can be allowed if needed (at client side empty field value is treated as null at server - never allowed),
  • rigid comparisons - meaning of null, empty, whitespace and undefined rethought at client and server (isEmpty was too fuzzy).

v1.3.1

11 Jun 11:54
Compare
Choose a tag to compare
  • dates equality comparisons fix,
  • nullable boolean values handling fix,
  • constructors removed - force the usage of object initializers which are far more readable here,
    code cleanups.

v1.3.0

02 Jun 22:33
Compare
Choose a tag to compare
  • new AssertThat and AssertThatExpression attributes added,
  • speedups - redundant calculations removed, others improved,
  • greater than or equal and less than or equal comparison fixes,
  • switch for case sensitive/insensitive comparisons of strings added,
  • target date is allowed to be explicitly provided as string,
  • more meaningful exception when nested properties extraction fails,
  • refactoring.

v1.2.2

25 May 23:00
Compare
Choose a tag to compare
  • fix for an attempt of empty stack evaluation in javascript (browser affected by too much recursion),
  • intellisense documentation,
  • minor fixes like specific exception thrown if no context provided to attributes, etc.

v1.2.1

23 May 19:16
Compare
Choose a tag to compare
  • types consistency assertions improved - corrected handling when target values are provided through backing fields,
  • type-aware comparisons at client side - values extracted from DOM elements are now converted to appropriate types before comparisons (no guessing anymore),
  • RFC 2822 or ISO 8601 date comparisons handled,
  • relations abuse detections when inappropriate operators applied to operands of incompatible types,
  • ordinal comparisons of strings,
  • empty strings (spaces, tabs, new lines) are not considered as correct when field is required to be filled,
  • default validation error message enriched with preprocessed expression text,
  • minor fixes and refactoring.

v1.2.0

15 May 22:55
Compare
Choose a tag to compare
  • relational operators added,
  • types consistency verification,
  • fixed handling for enum types.