title: Flutter inputformatter for date
body: <p>I am looking for an example of an inputformatter for text field that will be a date mm/dd/yyyy, what I am trying to do as the user types update the format.  For instance user starts to type mm and the / is put in, then when the dd is typed in the / is put in.</p>
  
  <p>Anyone done this or have an example?  I have done it in other languages but could not find a similar way to do in flutter/dart.</p>
  
  <p>This is what I have tried so far, but can not get the logic correct.  Any ideas?</p>
  
  <pre><code>    class _DateFormatter extends TextInputFormatter {
    @override
    TextEditingValue formatEditUpdate(
        TextEditingValue oldValue,
        TextEditingValue newValue
        ) {
      final int newTextLength = newValue.text.length;
      int selectionIndex = newValue.selection.end;
      int usedSubstringIndex = 0;
      final StringBuffer newText = new StringBuffer();
      if (newTextLength == 2) {
        newText.write(newValue.text.substring(0, 2) + '/ ');
        if (newValue.selection.end == 3)
          selectionIndex+=3;
      }
      if (newTextLength == 5) {
        newText.write(newValue.text.substring(0, 5) + '/ ');
        if (newValue.selection.end == 6)
          selectionIndex += 6;
      }
      // Dump the rest.
      if (newTextLength &gt;= usedSubstringIndex)
        newText.write(newValue.text.substring(usedSubstringIndex));
      return new TextEditingValue(
        text: newText.toString(),
        selection: new TextSelection.collapsed(offset: selectionIndex),
      );
    }
  }
  </code></pre>
  
  <p>Thanks</p>