title: Mandatory attributes in MXML?
body: <p>Is it possible, through some kind of metadata presumably, to force a property of an object to be set? We have a number of non-visual components that simply doesn't do anything unless one or more properties are set, such as:</p>
  
  <pre><code>&lt;ToolTip target="{this}"&gt;
      &lt;mx:Image source="foo.png" /&gt;
  &lt;/ToolTip&gt;
  </code></pre>
  
  <p>In this case, the target property would be nice to mark as required, as it doesn't make sense to never have it set. This is not a huge issue since it's easy to document, but it would be nice to eliminate at least a few debug-roundtrips by having the compiler tell the developer of his error.</p>
  
  <p>We don't wish for this tag to be redundant in any way, which could have been solved (in this instance) by simply making the ToolTip component a UIComponent and using the parent property. But for one thing, this adds unnecessary overhead and in other cases it's simply not proper:</p>
  
  <pre><code>&lt;Button id="btn" label="Foo" /&gt;
  &lt;ToolTip target="{btn}"&gt;
      &lt;mx:Image source="foo.png" /&gt;
  &lt;/ToolTip&gt;
  </code></pre>
  
  <p>So, are mandatory mxml attributes a possibility?</p>