Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
devel:documentation:application_configuration:dev:dynamic-forms [2019/02/01 11:27]
tomiskar
devel:documentation:application_configuration:dev:dynamic-forms [2019/02/06 12:47]
svandav [Validation]
Line 41: Line 41:
   * ''UUID'' - uuid identifier. Indexed.   * ''UUID'' - uuid identifier. Indexed.
   * ''ATTACHMENT'' - attachment (~binary file). Read more about [[..:..:modules_rpt:dev:attachment_manager|attachments]].   * ''ATTACHMENT'' - attachment (~binary file). Read more about [[..:..:modules_rpt:dev:attachment_manager|attachments]].
 +
 +
 +<note info>Changing ''persistentType'' and ''confidential'' is possible only for attributes without persisted values => when attribute is not used for some values. Data migration, when attribute's ''persistentType'' or ''confidential'' is changed is not supported now.</note>
  
 with properties: with properties:
Line 114: Line 117:
 ===== Validation ===== ===== Validation =====
  
-For form attribute values is possible to configure prepared validations. Validation are evaluated, when form with extended attributes is saved and sent to backend. Simple validations as ''required'', ''min'', ''max'' are evaluated on frontend after value is changed.+For form attribute values is possible to configure prepared validations. Validation are evaluated (**on the backend**), when form with extended attributes is saved and sent to backend. Simple validations as ''required'', ''min'', ''max'' are evaluated on frontend after value is changed.
  
 === Required === === Required ===
Line 134: Line 137:
 ==== Regex ==== ==== Regex ====
  
-Value has to match given regular expression.+Value has to match given regular expression ([[https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html|java pattern]] is used).
  
 <note info>Unique validation is not supported for ''BYTEARRAY'' and ''ATTACHMENT'' persistent types.</note> <note info>Unique validation is not supported for ''BYTEARRAY'' and ''ATTACHMENT'' persistent types.</note>
Line 140: Line 143:
 <note info> <note info>
 Use single back slash for configure regex on GUI => use double back slash in java.  Use single back slash for configure regex on GUI => use double back slash in java. 
-Example regex for the ip address:+Example regex for the ip v4 address:
   * GUI: ''^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$''   * GUI: ''^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$''
   * java: ''^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$''   * java: ''^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$''
Line 149: Line 152:
 Custom validation message. If message is not defined, then default message by invalid validation type will be shown. Custom validation message. If message is not defined, then default message by invalid validation type will be shown.
  
-<note tip>Can contain localization key (e.g. ''core:validationError.invalid.unique'').</note>+<note tip>Can contain localization key (e.g. ''core:validationError.invalid.unique''). Parameters ''min'', ''max'', ''regex'', ''unique'', ''required'' is available for localization message.</note>
  
  
Line 171: Line 174:
 ===== Future development ===== ===== Future development =====
  
-  * API for saving the owner and the eav form in one transaction (=> save ''IdmFormInstance''). 
-  * Attribute properties validation - by supported persistent type (see above). 
   * Form value data migration, when persistent type is changed.   * Form value data migration, when persistent type is changed.
   * [[https://redmine.czechidm.com/issues/1140|#1140]] Add module into form definition table - now is module resolved dynamically by owner, but this cannot be overriden by module - e.g. when reg module adds new form for identity, localization is searched by owner in core module => and cannot be found.   * [[https://redmine.czechidm.com/issues/1140|#1140]] Add module into form definition table - now is module resolved dynamically by owner, but this cannot be overriden by module - e.g. when reg module adds new form for identity, localization is searched by owner in core module => and cannot be found.
 +  * Attachment renderer: support multiple files, download, validation support (now is validation on input), clearable, className, style
  • by tomiskar