title: Is this multi line if statement too complex?
body: <p>I am validating input on a form and attempting to prompt the user of improper input(s) based on the combination of controls used.</p>
  
  <p>For example, I have 2 combo boxes and 3 text boxes.  The 2 combo boxes must always have a value other than the first (default) value, but one of three, or two of three, or all text boxes can be filled to make the form valid.</p>
  
  <p>In one such scenario I have a 6 line if statement to try to make the test easily readable:</p>
  
  <pre><code>if ((!String.Equals(ComboBoxA.SelectedValue.ToString(), DEFAULT_COMBO_A_CHOICE.ToString())
      &amp;&amp; !String.IsNullOrEmpty(TextBoxA.Text)
      &amp;&amp; !String.Equals(ComboBoxB.SelectedValue.ToString(), DEFAULT_COMBO_B_CHOICE.ToString()))        
      ||
      (!String.IsNullOrEmpty(TextBoxB.Text)
      || !String.IsNullOrEmpty(TextBoxC.Text)))
  {
      //Do Some Validation
  }
  </code></pre>
  
  <p>I have 2 questions:</p>
  
  <ol>
  <li><p>Should this type of <em>if</em> statement be avoided at all cost?  </p></li>
  <li><p>Would it be better to enclose this test in another method? (This would be a good choice as this validation will happen in more than one scenario)</p></li>
  </ol>
  
  <p>Thanks for your input(s)!</p>