Maybe I am doing something wrong here, but maybe someone can clarify.
I have to use a csutom form for one of my blueprints, since otherwise not input validation is possible.
The custom form has a few fields:
1. User Input - a string. Checked by a regex, should return an error when string does not match.
2. Returns a computed value based on 1.; here a simple suffix is added to the string from 1.; Option used is Value > Computed value > Concatenate
3. A vRO validation of the value computed in 2. takes place, returning a string, if it is not successful. Done via a vRO action.
All fields above also have a "custom help" text assigned.
When loading the catalog element, there seems to be a computation and validation done once right after laoding the form, using default values (also when they are = null), but no matter how many times I change the input value of 1. , the other values in the form are not refreshed. It seems like all selected options are loaded once and cannot be changed afterwards.
Moreover, when selecting the "?" sysmbol to display a help text, only a small empty box is displayed. The same goes for "!", when regex does not match.
Edit: Also, pressing "Submit" just greys out the button, nothing else happens. I'm on Chrome 84.0, should that matter.
Does anyone experience this behaviour too?
Hello. The External Validation of Custom Form components is being executed only when user presses 'Submit'. This is a design decision based on improving the performance and responsiveness of the form. Also before pressing submit please make sure all indicated errors are fixed. Then on pressing the 'Submit' the External Validation must be triggered and if the vRO action returns any errors they should be also displayed. Currently I don't have a HF12 vRA 7.6 available but I will see how can I test this.
Thanks for your reply, but in my case there is nothing happening, when I click on "Submit", the button just greyes out and that's it.
Also, the problem with refreshing the Custom Form is not limited to external validation. When I try to set a value depending on another input value, for example: in unput field 1 I type a hostname, and in the input field 2 a domain name gets added automatically (I think it's called computed value in the form editor), the same issue persists - I can type my input in field 1, but field 2 does not get updated. Field 2 does not use an external action.
The "refresh" feature does not persist in the XaaS BLueprint custom form - there the values are updated in real time, as inputs get updated. I would expect the blueprint custom form to work similarily...
Hello. I managed to test the described behaviour on 7.6 HF12 and 8.x also.
I consistently reproduced a bug regarding the Computed Value which I will file and it will be fixed in the future:
1. Have a field 'Source' which is a regular text field.
2. Have a field 'Computed' which has Computed Value using 'Source' and adds a Constant suffix 'asd'.
3. Add External Validation for 'Computed' with script:
return input !== "asd" ? "" : "ERROR";
The External Validation is always working as expected and is always failing when 'Computed' is equal to 'asd', showing the 'ERROR' validation message.
However once the External Validation has been triggered once, the Computed Value is not working anymore. And no matter how much you change 'Source', 'Computed' doesn't get updated.
I can't get the External Validation to break. Maybe we have some difference in our setups. Please correct me if I did anything different.
**The above mentioned bug will be filled and fixed for future releases.
Thanks for submitting the issue.
In my case both "computed value - concatenate" work as expected, neither in combination nor independently. What I also noticed today is, that, when you set a default for the first input field, then no other fields except field 1 are shown in the form, when the catalog item is selected.
After a call with Support and editing the custom form it turned out, that a "bad" regex in step 1. was causing the issue.
The regex itself *seemed* to be fine (tested with an online regex editor) but when applied in the custom form, it stopped the form from working. Editing the regex solved the issue.