<?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>Interface, grid validations</title><link>https://community.appian.com/discussions/f/user-interface/27742/interface-grid-validations</link><description>Hi, 
 I have an interface with editable grid (a!gridLayout) where I am trying to add a new row with required elements when user clicks on &amp;quot;Add Dcoument&amp;quot;. 
 I have to achieve the below requirements. Not 100% sure whether it can be done or not. 
 1. If</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107942?ContentTypeID=1</link><pubDate>Tue, 14 Feb 2023 15:27:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:eba360f0-7e6d-463c-8bb6-3a6e42ab09d6</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;You can have that saveInto anywhere you need it to be, including in the navigation controls when the user is going to the next tab.&amp;nbsp; It&amp;#39;s hard for me to guess what your navigation pattern and advanced requirements are since these weren&amp;#39;t mentioned earlier or included in the sample code.&amp;nbsp; But in general it&amp;#39;s very doable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107940?ContentTypeID=1</link><pubDate>Tue, 14 Feb 2023 15:17:49 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:94a717d0-b586-4d75-a781-23b2e900ef80</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;I am using the &lt;span&gt;milestoneField&amp;nbsp;componenet in the main interface and I am using above defined interface for one of the tab. So, I don&amp;#39;t have Cancel &amp;amp; Submit buttons in the individual form. In the above code screen shot, we are saving local variable data to rule input inside the &amp;quot;Submit&amp;quot; button. That is where my issue is.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107939?ContentTypeID=1</link><pubDate>Tue, 14 Feb 2023 15:03:50 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:257dff1b-1ae6-410b-8f33-3b09ee995b8b</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I included that in the example code I posted above, and mentioned it in my comment.&lt;br /&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676387031796v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;In other words, you&amp;#39;ll un-comment the rule input there, and get rid of local!exampleOutput completely.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107902?ContentTypeID=1</link><pubDate>Tue, 14 Feb 2023 01:28:16 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b8c0b0d4-327f-4f03-833c-142a269aa513</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;Hi Mike,&lt;/p&gt;
&lt;p&gt;We are storing the data in a local variable. I am unable to pass this local variable data to a process Model. Because I am using this interface inside a&amp;nbsp;milestoneField along with other interfaces.&lt;/p&gt;
&lt;p&gt;How I can save local variable data into the rule input so that I can pass data to Process Model and save further into a database.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107901?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 21:55:57 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9d3e1837-ed04-4051-8a39-bef7e8e1453a</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;Great help Mike.&lt;/p&gt;
&lt;p&gt;Really appreciate your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107900?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 21:14:49 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:827a753c-eaad-48a0-9ced-c8613457c54a</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;I made you a fixed example (with stuff slightly reworked to not require the rules / constant on your environment) which handles the saving of the local array into the rule input in the appropriate place (in the submit button) and properly handles intialization of the local array / etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(note I turned of the requiredness of the file upload field temporarily just to allow easier testing of the saveinto on the submit button click, which for now saves into a fake local variable called &amp;quot;exampleOutput&amp;quot;, but in your real interface you&amp;#39;ll change to save back into your Rule Input array).&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="java"&gt;a!localVariables(
  local!documentTypes: {
    {
      description: &amp;quot;doc 1&amp;quot;,
      documenttypekey: 1
    },
    {
      description: &amp;quot;doc 2&amp;quot;,
      documenttypekey: 2
    }
  },
  /*rule!LCM_getDocumentTypes(documentTypeKey: null()),*/
  local!intakedocuments: {},
  local!itemscount: count(local!intakedocuments),

  local!blankRow: 
  /*&amp;#39;type!{urn:com:appian:types:LCM}LCM_IntakeDocuments&amp;#39;(),*/
  a!map(
    DocKey: null(),
    IntakeHeaderKey: null(),
    documentid: null(),
    documenttitle: &amp;quot;&amp;quot;,
    documenttypekey: null(),
    uploadedby: loggedInUser(),
    dateuploaded: now()
  ),
  
  local!exampleOutput: {},

  a!formLayout(
    label: &amp;quot;Document Details&amp;quot;,
    contents: {
      a!gridLayout(
        totalCount: count(local!intakedocuments),
        headerCells: {
          a!gridLayoutHeaderCell(label: &amp;quot;Document Type&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;Document Title&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;Document&amp;quot;),
          /* For the &amp;quot;Remove&amp;quot; column */
          a!gridLayoutHeaderCell(label: &amp;quot;&amp;quot;)
        },
        columnConfigs: {
          a!gridLayoutColumnConfig(width: &amp;quot;DISTRIBUTE&amp;quot;, weight: 1),
          a!gridLayoutColumnConfig(width: &amp;quot;DISTRIBUTE&amp;quot;, weight: 1),
          a!gridLayoutColumnConfig(width: &amp;quot;DISTRIBUTE&amp;quot;, weight: 1),
          a!gridLayoutColumnConfig(width: &amp;quot;ICON&amp;quot;)
        },
        rows: a!forEach(
          items: local!intakedocuments,
          expression: a!gridRowLayout(
            id: fv!index,
            contents: {
              a!dropdownField(
                label: &amp;quot;DocumentType &amp;quot; &amp;amp; fv!index,
                placeholder: &amp;quot;-- Select -- &amp;quot;,
                choiceLabels: index(local!documentTypes, &amp;quot;description&amp;quot;, &amp;quot;&amp;quot;),
                choiceValues: index(
                  local!documentTypes,
                  &amp;quot;documenttypekey&amp;quot;,
                  &amp;quot;&amp;quot;
                ),
                value: fv!item.documenttypekey,
                saveInto: {
                  fv!item.documenttypekey,
                  /*a!save(*/
                    /*ri!lcmIntakeDocuments,*/
                    /*a!forEach(*/
                      /*items: local!intakedocuments,*/
                      /*expression: {*/
                        /*documentid: fv!item.documentid,*/
                        /*documenttitle: fv!item.documenttitle,*/
                        /*documenttypekey: fv!item.documenttypekey,*/
                        /*uploadedby: loggedInUser(),*/
                        /*dateuploaded: now()*/
                      /*}*/
                    /*)*/
                  /*)*/
                },
                required: if(
                  or(
                    a!isNotNullOrEmpty(fv!item.documenttitle),
                    a!isNotNullOrEmpty(fv!item.documentid)
                  ),
                  true(),
                  false()
                )
              ),
              a!textField(
                label: &amp;quot;DocumentTitle&amp;quot; &amp;amp; fv!index,
                value: fv!item.documenttitle,
                saveInto: {
                  fv!item.documenttitle,
                  /*a!save(*/
                    /*ri!lcmIntakeDocuments,*/
                    /*a!forEach(*/
                      /*items: local!intakedocuments,*/
                      /*expression: {*/
                        /*documentid: fv!item.documentid,*/
                        /*documenttitle: fv!item.documenttitle,*/
                        /*documenttypekey: fv!item.documenttypekey,*/
                        /*uploadedby: loggedInUser(),*/
                        /*dateuploaded: now()*/
                      /*}*/
                    /*)*/
                  /*)*/
                },
                required: if(
                  or(
                    a!isNotNullOrEmpty(fv!item.documenttypekey),
                    a!isNotNullOrEmpty(fv!item.documentid)
                  ),
                  true(),
                  false()
                )
              ),
              a!fileUploadField(
                label: &amp;quot;Attach LCM Document(s)&amp;quot; &amp;amp; fv!index,
                /*target: cons!LCMDOCUMENTS,*/
                maxSelections: 1,
                value: fv!item.documentid,
                saveInto: {
                  fv!item.DocumentID,
                  /*a!save(*/
                    /*ri!lcmIntakeDocuments,*/
                    /*a!forEach(*/
                      /*items: local!intakedocuments,*/
                      /*expression: {*/
                        /*documentid: fv!item.documentid,*/
                        /*documenttitle: fv!item.documenttitle,*/
                        /*documenttypekey: fv!item.documenttypekey,*/
                        /*uploadedby: loggedInUser(),*/
                        /*dateuploaded: now()*/
                      /*}*/
                    /*)*/
                  /*)*/
                },
                buttonStyle: &amp;quot;STANDARD&amp;quot;,
                required: if(
                  or(
                    a!isNotNullOrEmpty(fv!item.documenttypekey),
                    a!isNotNullOrEmpty(fv!item.documenttitle)
                  ),
                  /*true(),*/ false(),
                  false()
                )
              ),
              /* For the Removal Column*/
              a!richTextDisplayField(
                value: a!richTextIcon(
                  icon: &amp;quot;close&amp;quot;,
                  altText: &amp;quot;Delete &amp;quot;,
                  caption: &amp;quot;Delete &amp;quot;,
                  link: a!dynamicLink(
                    value: fv!index,
                    saveInto: {
                      a!save(
                        local!intakedocuments,
                        remove(local!intakedocuments, save!value)
                      ),
                      /*a!save(*/
                        /*ri!lcmIntakeDocuments,*/
                        /*remove(ri!lcmIntakeDocuments, save!value)*/
                      /*)*/
                    },

                  ),
                  linkStyle: &amp;quot;STANDALONE&amp;quot;,
                  color: &amp;quot;NEGATIVE&amp;quot;
                )
              )
            }
          )
        ),
        addRowlink: a!dynamicLink(
          label: &amp;quot;Add Document&amp;quot;,
          saveInto: {
            a!save(
              local!intakedocuments,
              append(local!intakedocuments, local!blankRow),

            ),
            /*a!save(*/
              /*local!itemscount,*/
              /*count(ri!lcmIntakeDocuments)*/
            /*)*/
          }
        ),
        spacing: &amp;quot;DENSE&amp;quot;,
        rowHeader: 1
      )
    },
    buttons: a!buttonLayout(
      primaryButtons: {
        a!buttonWidget(
          label: &amp;quot;Submit&amp;quot; &amp;amp; local!itemscount,
          submit: true,
          style: &amp;quot;PRIMARY&amp;quot;,
          saveInto: {
            a!save(
              /*ri!lcmIntakeDocuments,*/ local!exampleOutput,
              a!forEach(
                items: local!intakedocuments,
                expression: {
                  documentid: fv!item.documentid,
                  documenttitle: fv!item.documenttitle,
                  documenttypekey: fv!item.documenttypekey,
                  uploadedby: loggedInUser(),
                  dateuploaded: now()
                }
              )
            )
          }
        )
      },
      secondaryButtons: {
        a!buttonWidget(
          label: &amp;quot;Cancel&amp;quot;,
          value: true,
          /*saveInto: ri!cancel,*/
          submit: true(),
          style: &amp;quot;NORMAL&amp;quot;,
          validate: false
        )
      }
    )
  )
)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676322930745v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Let me know if any questions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107899?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 21:07:11 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:305713a1-8bba-4b72-b6b3-a2f335a04171</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Also, sorry i didn&amp;#39;t notice this before - you&amp;#39;ll have to rework your saveIntos to remove this.&amp;nbsp; This won&amp;#39;t work the way you think it will.&amp;nbsp; You should be relying on the individual fields to save their own properties into the CDT.&lt;br /&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676322476694v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107898?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 21:02:22 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:deef7250-ca43-4c68-8f24-9baeff1d17ec</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;You&amp;#39;ll also want to replace this &amp;quot;save!value&amp;quot; (which is empty) with your CDT type declaration.&amp;nbsp; This will mean you&amp;#39;re appending one row containing that empty CDT (instead of null) to the end of the array (which, when the array is starting blank, will mean it&amp;#39;s just an array of a single empty copy of htat CDT, which is what you&amp;#39;llw ant).&lt;br /&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676322138835v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107897?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:59:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f3eacc53-db68-4ce6-83c9-ee458af88b7c</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;Even after using empty set {}, I am getting same error.&lt;/p&gt;
&lt;p&gt;This error is occuring, then I try to add a new row by clicking on &amp;quot;add&amp;quot; link and after selecting an item in the first column drop down element value.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107895?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:55:06 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:4e29c0ff-32bd-4465-b139-8eb14674756f</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;You need to initialize local!intakedocuments as an empty set ({}), not null.&amp;nbsp; The a!forEach() function properly handles an empty set, but if you pass a value of null(), it&amp;#39;ll assume that&amp;#39;s an actual (empty) row with invalid properties, producing the error you&amp;#39;re seeing.&lt;br /&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676321734893v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107894?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:45:49 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:eafe26fe-fc49-4b6b-8961-dee1204395b3</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Test code&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107893?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:43:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ded8d4ac-7a49-4b7f-8dd0-34d42b9b16cd</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Please share a code snippet - there&amp;#39;s something you&amp;#39;re not initializing correctly, but it&amp;#39;s hard to tell based only on front-end screenshots &lt;span class="emoticon" data-url="https://community.appian.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;br /&gt;&lt;img src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/13/pastedimage1676321038745v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107892?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:40:17 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:75578339-69d3-4a11-8e1d-7d0d003a2c37</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;When I try to show an empty grid initially when the page/interface load and if I try to add a new row when user clicks on &amp;quot;add&amp;quot;, I am getting an error message&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;strong class="StrongText---richtext_strong StrongText---inMessageLayout StrongText---error"&gt;Could not display interface. Please check definition and inputs.&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Interface Definition: Expression evaluation error [evaluation ID = 59651:353c2] : An error occurred while executing a save: java.lang.IllegalArgumentException: Invalid index: Cannot index property &amp;#39;documenttype&amp;#39; into type List of Null&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1676320824742v2.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107891?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:32:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:e3968b50-6083-46bb-a536-a2318080f39f</guid><dc:creator>Mike Schmitt</dc:creator><description>[quote userid="170215" url="~/discussions/f/user-interface/27742/interface-grid-validations/107890#107890"]if any of the row (All elements) left empty and try to submit the form, then I would like to provide validation.[/quote]
&lt;p&gt;Setting the &amp;quot;required&amp;quot; parameter on any / all of the fields should accomplish this.&amp;nbsp; Generally I recommend you stick to this approach unless you have strong reasoning to do otherwise.&lt;/p&gt;
[quote userid="170215" url="~/discussions/f/user-interface/27742/interface-grid-validations/107890#107890"]Is it mandatory to show at least one row in the editable grid?[/quote]
&lt;p&gt;No. If you want to start out with an empty grid (until the user clicks &amp;quot;add&amp;quot;), you should make sure to pass in an empty set as your initial CDT value.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107890?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:30:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:fc43dbf0-f9b9-4432-a5fe-d27279e948ab</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;I mean, if any of the row (All elements) left empty and try to submit the form, then I would like to provide validation.&lt;/p&gt;
&lt;p&gt;Not sure how to handle this.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also, by default, I am showing one row with all the three elements. Is it mandatory to show at least one row in the editable grid?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107889?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:27:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:87126601-c383-49d9-ba80-80bc519ff8c5</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Can you specify what you mean exaclty by &amp;quot;entire row is empty&amp;quot;?&amp;nbsp; What would the validation condition be exactly / what would you want to show the user / what would you hope the user does differently?&amp;nbsp; Generally, when a row is added and you make all 3 of the column-fields required, when they attempt to &amp;quot;submit&amp;quot;, the item-by-item &amp;#39;required&amp;#39; messages will show.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107887?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 20:22:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:db233407-31ed-4f09-b3fc-70fc6addc660</guid><dc:creator>swapnar6405</dc:creator><description>&lt;p&gt;Thanks Mike for providing an idea to handle the validations in this scenario..&lt;/p&gt;
&lt;p&gt;Is there away we can handle if entire row is empty. Is it advisable to handle at grid level or something at Process Model smart node level?&lt;/p&gt;
&lt;p&gt;&lt;img src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1676319709779v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interface, grid validations</title><link>https://community.appian.com/thread/107885?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2023 19:34:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9db5f6d8-7e4d-44af-a6b4-abc5a4a70e7e</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;The &amp;quot;required&amp;quot; setting for the Title text entry would need to be based on that row&amp;#39;s document Type selection - at the moment you&amp;#39;re basing it on the value of the entire array, which won&amp;#39;t really work well.&amp;nbsp; It should be something along the lines of &amp;quot;&lt;em&gt;fv!item.documentType&lt;/em&gt;&amp;quot; in your example.&amp;nbsp; Basically the same thing that you&amp;#39;re (hopefully) saving the row-specific document type value into.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>