<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/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>Controls</title><link>https://www.infopathdev.com:443/forums/43.aspx</link><description> </description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Validation Rule Conundrum</title><link>https://www.infopathdev.com:443/forums/thread/75845.aspx</link><pubDate>Wed, 29 Feb 2012 16:23:22 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:75845</guid><dc:creator>nkstrou</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/75845.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=43&amp;PostID=75845</wfw:commentRss><description>&lt;p&gt;Hi InfoPathers:&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve got an unexpected validation rule behavior that I need a little help making sense of.&amp;nbsp; In my InfoPath 2010 filler form, I have my users enter something called a Product Categorization.&amp;nbsp; This consists of a repeating table that contains a radiobutton choice indicating whether their request pertains to an existing or new Prod Cat, or one they want to have deleted.&amp;nbsp; (Changes are entered as a new and a deletion.)&amp;nbsp; Then there are&amp;nbsp;3 catgory&amp;nbsp;comboboxes and a Product Name combobox for the Product Categorization and a 5th one for an alias.&amp;nbsp; I look up the Prod Cat values from a SP 2010&amp;nbsp;list and have a cascade set up across all&amp;nbsp;5 comboboxes&amp;nbsp;that works great.&amp;nbsp; When they enter a new Prod Cat, I do a lookup against all Prod Cat values on the SP list to make sure they are entering a unique value.&amp;nbsp; I do the same for the&amp;nbsp;alias, and both of those pieces work great.&lt;/p&gt;
&lt;p&gt;But I got to thinking that if we are talking about an existing Prod Cat or one that needs to be deleted, I want to make sure they populate the Alias value for that record&amp;nbsp;if there is one (right now, we&amp;nbsp;have maybe&amp;nbsp;4 records out of 800+ that have aliases).&amp;nbsp; That&amp;#39;s where my funky behavior is coming in.&amp;nbsp; My Prod Cat controls are named as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;optProdCatXstNewDel for the Existing/New/Deletion option buttons&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;cboProdCatTier1 for Tier 1 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;cboProdCatTier2 for Tier 2 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;cboProdCatTier3 for Tier 3 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;cboProdCatProdName for the Product Name&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;cboProdCatAlias for the Alias.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;On the SP list, the Prod Cat fields are as follows&lt;/p&gt;
&lt;li&gt;
&lt;div&gt;Tier1 for Tier 1 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Tier2 for Tier 2 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Tier3 for Tier 3 of the Categorization&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ProductName for the Product Name&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Alias for the Alias.&lt;/div&gt;&lt;/li&gt;
&lt;p&gt;The validation I have so far looks like this:&lt;/p&gt;
&lt;p&gt;optProdCatXstNewDel is not equal to &amp;quot;New&amp;quot; and &lt;/p&gt;
&lt;p&gt;optProdCatXstNewDel is not blank and&lt;/p&gt;
&lt;p&gt;../my:cboProdCatTier1 = xdXDocument:GetDOM(&amp;quot;CurrentProdCats&amp;quot;)/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title and &lt;/p&gt;
&lt;p&gt;../my:cboProdCatTier2 = xdXDocument:GetDOM(&amp;quot;CurrentProdCats&amp;quot;)/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Tier_x0020_2 and &lt;/p&gt;
&lt;p&gt;../my:cboProdCatTier3 = xdXDocument:GetDOM(&amp;quot;CurrentProdCats&amp;quot;)/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Tier_x0020_3 and&lt;/p&gt;
&lt;p&gt;../my:cboProdCatProdName = xdXDocument:GetDOM(&amp;quot;CurrentProdCats&amp;quot;)/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Product_x0020_Name and&lt;/p&gt;
&lt;p&gt;cboProdCatAlias is blank and&lt;/p&gt;
&lt;p&gt;Alias is not blank&lt;/p&gt;
&lt;p&gt;(And yes, I think I hijacked what was originally the Title field on the SP list and renamed that to Tier1.&amp;nbsp; The d:Title thing is what I get when I set up cboProdCatTier1 = Tier1 and convert that to an BLOCKED EXPRESSION&lt;/p&gt;
&lt;p&gt;For purposes of discussion,&amp;nbsp;let&amp;#39;s taking the following two sample Product Categorizations:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prod Cat 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prod Cat 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tier 1 = Miscellaneous&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Miscellaneous&lt;/p&gt;
&lt;p&gt;Tier 2 = Account&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Account&lt;/p&gt;
&lt;p&gt;Tier 3 = Kerberos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Kerberos&lt;/p&gt;
&lt;p&gt;Product Name&amp;nbsp;= Unclassified (UN)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Classified (CL)&lt;/p&gt;
&lt;p&gt;Alias = Kerberos Account (UN)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kerberos Account (CL)&lt;/p&gt;
&lt;p&gt;The validation I&amp;#39;ve set up kicks on when I enter the Tier 3 value, but I want it to not kick in until the Product Name is entered.&amp;nbsp; Given that these are the only two Prod Cats that match&amp;nbsp;to the Tier 3 level and both of them have aliases, I suppose I&amp;#39;m not completely surprised by this behavior.&amp;nbsp; If I change Tier 3 to something like Local Machine, which doesn&amp;#39;t have any aliases associated with any of the&amp;nbsp;records that match&amp;nbsp;at that level, I have other&amp;nbsp;rules that automatically clears out the Product Name and the Alias.&amp;nbsp; That part works, but the validation prompt&amp;nbsp;stays turned on when it shouldn&amp;#39;t.&amp;nbsp; If I go in and pick Miscellaneous --&amp;gt; Account --&amp;gt; Local Machine as a first-time pick, the validation prompt also turns on.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m looking for a way to find any records on the SP list&amp;nbsp;that match on all 4 tiers of&amp;nbsp;whatever is selected for&amp;nbsp;Prod Cat&amp;nbsp;in my form&amp;nbsp;(for&amp;nbsp;existing or&amp;nbsp;delete requests) and if that record has an alias that hasn&amp;#39;t been entered&amp;nbsp;in my IP form, bring that to&amp;nbsp;the user&amp;#39;s&amp;nbsp;attention so&amp;nbsp;they can pick it.&amp;nbsp; But it&amp;#39;s the like the actual behavior is find any record that matches at&amp;nbsp;any entered&amp;nbsp;tiers of the Prod Cat, and if any of those have an alias that hasn&amp;#39;t been picked, bring that to the user&amp;#39;s attention so they can pick it.&amp;nbsp; Which is impossible due to the cascades I&amp;#39;ve set up and&amp;nbsp;leaves me with&amp;nbsp;a validation rule whose requirements can&amp;#39;t be met.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Does anyone have any ideas what might be going on?&amp;nbsp; Or whether there&amp;#39;s a different/better way to do what I need it to do?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;nkstrou&lt;/p&gt;</description></item></channel></rss>