Changelog History
-
v0.12.2 Changes
April 08, 2016๐จ Refactoring:
- rename method
mapTo
of Mapping[T] tomap
(!!! broken changes) โ 2. more graceful attachment way, check here for sample codes.
๐ p.s. method
$ext(..)
inMapping[T]
was removed (!!! broken changes). - rename method
-
v0.12.1 Changes
March 03, 2016๐ 1. remove unnecessary
scala-reflect
dependency ๐ 2. change json parser fromjson4s
tospray-json
, to reduce nested dependencies -
v0.12.0 Changes
February 27, 2016๐จ Refactoring:
๐ฆ 1. move misc interfaces/classes from
Framework
to package file- intelligently detect label key and remove
i18n
option (p.s. labels starting with@
will be used as message key) - rename option items
ignoreEmpty/touched
toskipUntouched/touchedChecker
(!!! broken changes)
- intelligently detect label key and remove
-
v0.11.0 Changes
February 21, 2016๐ 1. add meta support ๐ 2. add ext info support
-
v0.10.1 Changes
August 02, 2015- added a helper method to
simple
, which can convertrequest.getParemeterMap
(Map[String, String[]]) todata
(Map[String, String]) directly. ๐จ 2. some minor bug fix, code refactor and enhancement
- added a helper method to
-
v0.10.0 Changes
July 19, 2015๐จ Code refactor inspired by
form-binder-java
:- remove
InputMode
as type parameter ofMapping
/Constraint
/PreProcessor
s. Currently all constraints/pre-processors can be applied to all mappings, and only checked it at runtime. touched checker
changed from list of names to a function of(name, data) => true|false
, which accepts current field name and data map, and return true if touched, and false if not touched.FormBinder
not hold constraints/pre-processors any more. Let's attach them to related mapping definitions if necessary.
!!!WRANING: some broken changes were introduced. But I don't want to list the details here, since they are not big changes, and you can find and fix it easily when upgrading.
- remove
-
v0.9.0 Changes
April 12, 2015๐จ 1. code refactoring and doc enhancement โ 2. change
FormBinder.bind
(!!!WARNING: broken change for normal developers),from
// bind mappings to data,// consume it directly and return result, if validation passed;// return (processed) errors, if validation faileddef bind[T, R2, M \<: InputMode](mapping: Mapping[T, M], data: Map[String, String])(consume: T =\> R2)
to
// bind mappings to data, and return an either, holding validation errors (left) or converted value (right);// let user to decide how to proceeddef bind[T, M \<: InputMode](mapping: Mapping[T, M], data: Map[String, String]): Either[R, T]
-
v0.8.1
April 08, 2015 -
v0.8.0 Changes
November 02, 2014โ 1. change interface
Constraint
to(name, data, messages, options) => errors
, and now it can be applied to both mappings andFormBinder
(!!!WARNING: broken change for extension developers) โ 2. merge/change interfacesPreProcessor
/BulkPrePrecessor
to(prefix, data, options) => data
, and now it can be applied to bothFormBinder
and mappings (!!!WARNING: broken change for extension developers)- rename
pipe_:
to>-:
(!!!WARNING: broken change for normal developers) โ 4. change pre-processorexpandJsonData(sourceKey[, destPrefix])
toexpandJsonString([sourceKey][, destPrefix])
, and now it can be applied to all mappings andFormBinder
(!!!WARNING: broken change for normal developers) - add constraint
numArrayIndex
, used to validate illegal array index, likeaaa[t123]
โจ 6. enhance constraintrequired
, and now it can be applied to both field mappings and group mappings - add built-in field mapping
json4s
- add
InputMode
to help restrict aConstraint
/PreProcessor
can accept one input string or multiple input strings or both (for extension developers)
- rename
-
v0.6.0 Changes
October 18, 2014- change interface
Messages
to(String) => Option[String]
( !!!WARNING: broken change ) ๐ 2. addi18n
option support, solabel
can be used as a key to fetch an i18n value now - add built-in uuid (java.util.UUID) field mapping
- change interface