title: Validator pushed TextFormField above
body: <p>I tried creating an email textfield with validator using <a href="https://docs.flutter.io/flutter/material/TextFormField-class.html" rel="noreferrer"><code>TextFormField</code></a>. Since the textfield height is too much for my liking, I wrap the <code>TextFormField</code> with <code>Container</code> and set the <code>height</code> to 50. Now the problem is whenever I submitted intended wrong value, the validator will popped out and pushed the textfield, leaving the height much smaller than what I set in <code>Container</code>. </p>
  
  <p><strong>Before submitting:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/vQw4Y.png" rel="noreferrer"><img src="https://i.stack.imgur.com/vQw4Y.png" alt="Before submitting"></a></p>
  
  <p><strong>After submitting:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/Dl1u0.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Dl1u0.png" alt="enter image description here"></a></p>
  
  <p>Here is my codes:</p>
  
  <pre class="lang-dart prettyprint-override"><code>Widget _emailForm() {
      return Form(
        key: _emailFormKey,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: &lt;Widget&gt;[
            Text("Enter Your Email", style: TextStyle(fontSize: 13.0, fontWeight: FontWeight.bold),),
            Padding(padding: EdgeInsets.symmetric(vertical: 4.0),),
            Container(
              height: 50,
              child: TextFormField(
                focusNode: _emailFocusNode,
                style: TextStyle(fontSize: 11.0, fontWeight: FontWeight.w600),
                keyboardType: TextInputType.emailAddress,
                controller: _emailTextController,
                decoration: InputDecoration(
                  isDense: true,
                  focusedBorder: OutlineInputBorder(
                    borderRadius: BorderRadius.all(Radius.circular(0.0),),
                  ),
                  suffixIcon: IconButton(
                    alignment: Alignment.centerRight,
                    iconSize: 16.0,
                    icon: Icon(Icons.clear),
                    onPressed: () {
                      if(_emailTextController != null) {
                          _emailTextController.clear();
                          FocusScope.of(context).requestFocus(_emailFocusNode);
                      }
                    },
                  ),
                  border: OutlineInputBorder(
                    borderRadius: BorderRadius.all(
                      Radius.circular(0.0),
                    ),
                    borderSide: BorderSide(
                      color: Colors.black,
                      width: 1.0
                    )
                  ),
                  errorStyle: _errorTextStyle,
                ),
                validator: (val) {
                  Pattern pattern = r'@';
                  RegExp regex = RegExp(pattern);
                  if(val.isEmpty) return "* Email address can't be empty";
                  else if(!regex.hasMatch(val)) return "* Invalid email address";
                  else {
                    return null;
                  }
                },
              ),
            ),
            Padding(padding: EdgeInsets.symmetric(vertical: 6.0),),
            FlatButton(
              child: Text("Join".toUpperCase(), style: TextStyle(color: Colors.white, fontSize: 11),),
              onPressed: (){
                if(_emailFormKey.currentState.validate()) {
                  _joinWaitingList();
                }
              },
              color: _themeColor,
            ),
          ],
        ),
      );
    }
  </code></pre>
  
  <p>This widget is part of <code>ListView</code> in my <code>build</code> method if that information is helping. Is there any way to solve this problem? Thanks!</p>