<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Validations on child interface</title><link>https://community.appian.com/discussions/f/user-interface/21021/validations-on-child-interface</link><description>Hi, 
 
 I have the following case: 
 - interface that is built with one large main boxLayout which has 5 boxLayouts inside it and 1 buttonLayout (sectionLayouts and formLayouts are not option AFAIK because this interface must be child interface) 
 - there</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81896?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 17:24:05 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f8c4646c-a6ba-4fce-a605-2d9290893ee5</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;There is nothing like parent and child here. At least not for validations as these are evaluated on the final flat structure.&lt;/p&gt;
&lt;p&gt;But I understand. Proper use of validations in complex UI takes a bit of practice. I would try to make such an interface more simple. But I do not know any of your requirements.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81891?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 14:32:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:dfa88cde-aff5-446b-8882-3c8c670926c0</guid><dc:creator>ivanm0004</dc:creator><description>&lt;p&gt;Thx for the advice, I will try that approach. Sometimes, I have the feeling that &amp;quot;there must be more elegant way&amp;quot; but, on the other hand, I do not have even one full year of experience in working with Appian :)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Still it&amp;#39;s&amp;nbsp;pretty strange that child interface button triggers the validations on parent interface...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81890?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 14:12:45 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:fb9088fb-0550-4ec7-a606-ae8acfbaf411</guid><dc:creator>davel001150</dc:creator><description>&lt;p&gt;I think you could try my pattern in there as well.&amp;nbsp; Make the child button turn validations off while a button on the parent turns parent validations on, which probably also has to turn childValidations off.&lt;/p&gt;
&lt;p&gt;I would have to run a good number of tests to be absolutely sure that it works, but I think the saveInto of the button should be fine as long as the button doesn&amp;#39;t have any validations that have to fire.&lt;/p&gt;
&lt;p&gt;Then, if it&amp;#39;s just way too hard otherwise, there&amp;#39;s always KLUDGING your way out with red Rich Text.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81889?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 14:07:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1be3378d-fba6-4a70-a9e6-4803fb2edb07</guid><dc:creator>ivanm0004</dc:creator><description>&lt;p&gt;This START PROCESS button must not be SUBMIT button if I understood this correctly. This is the button that starts the process of document generation with parameters from these boxlayouts and returns the document download link to the child interface.&lt;/p&gt;
&lt;p&gt;This part can be started as many times as the user wants without proceeding to the next step.&lt;/p&gt;
&lt;p&gt;This child interface is the part of the one milestone interface of the really complex parent interface.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;However, why does the clicking on the child interface button performs validation on parent interface fields? Can this be prevented?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81888?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 14:02:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:90abb6ad-7d88-4293-9ac8-a7b3067961d7</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;Why not have separate &amp;quot;Validate&amp;quot; and &amp;quot;Submit&amp;quot; buttons. Or a wizard style interface?&lt;/p&gt;
&lt;p&gt;: Are you sure this works? AFAIK the saveInto is evaluated AFTER validation is positive.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81887?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 14:02:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:82320c67-3c17-4689-ab7f-2aecedf8c421</guid><dc:creator>ivanm0004</dc:creator><description>&lt;p&gt;I&amp;#39;ve managed to resolve problem with complex validations with the code below:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!boxLayout(
  contents:
  {
    
    a!boxLayout(),  /*text fields and date pickers with REQUIRED*/
    a!boxLayout(),  /*child interface with editable grid with REQUIRED*/
    a!boxLayout(),  /*child interface with editable grid with REQUIRED*/
    a!boxLayout(),  /*text fields and date pickers with REQUIRED*/
    a!boxLayout(
     contents: {
        a!gridLayout(
            validations: /*complex validations*/
            validationGroup: &amp;quot;START_PROCESS&amp;quot;)
        }
    ),  /*editable grid with REQUIRED and COMPLEX validations*/
    a!buttonLayout(
        primaryButtons: {
            a!buttonWidget(
                validate: true,
                validationGroup: &amp;quot;START_PROCESS&amp;quot;
            )    
        }
    ) /*non submit button that saves into rule inputs and starts a process which returns value to the interface*/
  }
  
)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Issue that remains and that I don&amp;#39;t believe is covered in your proposition is the fact that required fields are checked even in the parent interface (e.g. some document upload field) upon clicking the button inside the child interface.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I want validations upon required items inside the boxLayouts inside the child interface, but I don&amp;#39;t want button in child interface to validate required fields in the parent interface.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My child interface needs some inputs from the parent interface but otherwise should have no connections back to the parent interface nor validations &amp;quot;cross-check&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is there a way to isolate the validations inside the child interface and prevent them from triggering validations on parent interface?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Validations on child interface</title><link>https://community.appian.com/thread/81883?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 13:48:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:038e3136-f864-4323-80da-707d59154fc5</guid><dc:creator>davel001150</dc:creator><description>&lt;p&gt;Took a minute, but I think I have it.&amp;nbsp; Make the button save true into a &amp;quot;checkValidations&amp;quot; boolean (local or rule input).&amp;nbsp; Have each of the individual validations on the various other components check:&lt;/p&gt;
&lt;p&gt;if (&lt;/p&gt;
&lt;p&gt;and(local!checkValidations, /*insert normal validation conditions here*/),&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;Validation Message&amp;quot;,&lt;/p&gt;
&lt;p&gt;&amp;quot;&amp;quot;&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;Since both need to be true, you need to pop the validation AND to have pressed the button at some point.&lt;/p&gt;
&lt;p&gt;You may also want to consider adding a save() into the saveInto: parameter of all the other&amp;nbsp;components&amp;nbsp;to set checkValidations back to false, assuming that you need to press the button again with no validations going off before you do the subprocess.&lt;/p&gt;
&lt;p&gt;The real tricky thing that you may have some work solving is how to prevent the startProcess from starting until all conditions are as you&amp;nbsp;want them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>