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/04 11:38] tomiskar [Regex] |
* ''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: |
==== 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> |
<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])$'' |
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> |
| |
| |
===== 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. |