title: How to check formControl value only on submit?
body: <p>The following code checks the <code>username</code> input on valueChanges. How do I check the <code>username</code> input only after there's a submit? (i.e., wait for a <code>submit</code> event, and don't check on each valueChange?)</p>
  
  <pre><code>      this.formCtls['username'].valueChanges.pipe(
          filter&lt;String&gt;(text=&gt;text.length &gt; 2),
          debounceTime(10),
          distinctUntilChanged(), 
          . . . 
  </code></pre>
  
  <p>Also, a secondary question that's probably not important enough to open as a whole new question on its own . . . : as above, why is my editor forcing me to add the <code>&lt;String&gt;</code> generic next to <code>filter</code>? I saw several code snippets online with just: </p>
  
  <pre><code>      this.formCtls['username'].valueChanges.pipe(
          filter(text=&gt;text.length &gt; 2),
          debounceTime(10),
          distinctUntilChanged(), 
  </code></pre>
  
  <p>but without the <code>&lt;String&gt;</code>, my editor (Visual Studio Code) complains that <code>property 'length' does not exist on type 'unknown'</code>, and the only way to fix that is to add the <code>&lt;String&gt;</code> type after <code>filter</code>. </p>