title: _AssertionError ('package:firebase_auth/src/firebase_auth.dart': Failed assertion: line 95 pos 12: 'email != null': is not true.)
body: <p>My goal is to build a registration in flutter with Firebase. However, when I press the button that contains the register function, the app stops and I receive this error:</p>
  
  <p>Exception has occurred.
  _AssertionError ('package:firebase_auth/src/firebase_auth.dart': Failed assertion: line 95 pos 12: 'email != null': is not true.)</p>
  
  <p>The integration with firebase is working, probably the problem is on textformfield that is not getting data...</p>
  
  <pre class="lang-dart prettyprint-override"><code>import 'package:cloud_firestore/cloud_firestore.dart';
  import 'package:firebase_auth/firebase_auth.dart';
  import 'package:flutter/material.dart';
  import 'package:cruke_app/main.dart';
  import 'package:cruke_app/ui/login.dart';
  
  class CrukeRegister extends StatelessWidget {
  
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        home: Register(),
      );
    }
  }
  
  class Register extends StatefulWidget {
    @override
    _RegisterState createState() =&gt; _RegisterState();
  }
  
  class _RegisterState extends State&lt;Register&gt; {
    String _email, _password, _passwordConfirm, _displayName;
    final formKey = new GlobalKey&lt;FormState&gt;();
    bool _autoValidate = false;
    final FirebaseAuth auth = FirebaseAuth.instance;
    bool _loading = false;
    final scaffoldKey = new GlobalKey&lt;ScaffoldState&gt;();
  
   @override
    void initState() {
  
      super.initState();
    } 
  
    Widget buildTextField(double width, String text, IconData icon, bool obscureText, String isEmpty, String _saved, bool _autoValidate){
  
      return Container(
        margin: EdgeInsets.only(bottom: 15),
        width: width * 0.9,
        child: TextFormField(
          validator: (input) =&gt; input.isEmpty ? isEmpty : null,
          onSaved: (input) =&gt; _saved = input,
          autovalidate: _autoValidate,
          obscureText: obscureText,
          decoration: InputDecoration(
            suffixIcon: Padding(
              padding: EdgeInsetsDirectional.only(end: 12.0),
              child: Icon(icon, color: Colors.red),
            ), 
            hintText: text,
            hintStyle: TextStyle(color: Colors.redAccent, fontSize: 15.0),
            border: OutlineInputBorder(
              borderRadius: BorderRadius.circular(30.0),
              borderSide: BorderSide(
                width: 5.0,
                color: Colors.redAccent,
              ),
            ), 
          ),
        ),
      );
    }
  
    @override
    Widget build(BuildContext context) {
      double width = MediaQuery.of(context).size.width;
      double height = MediaQuery.of(context).size.height;
  
      return Scaffold(
        key: scaffoldKey,
        backgroundColor: Colors.white,
        body: SingleChildScrollView(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: &lt;Widget&gt;[
              Center(
                child: Container(
                  margin: EdgeInsets.only(top: height * 0.025),
                  child: Image.asset("images/logo_vertical.png", width: width * 0.5),
                ),
              ),
              Form(
                key: formKey,
                autovalidate: _autoValidate,
                child: Column(
                  children: &lt;Widget&gt;[
                    buildTextField(width, "Digite seu nome", Icons.person, false, "Por favor, digite seu nome!", _displayName, _autoValidate),
                    buildTextField(width, "Digite seu e-mail", Icons.email, false, "Por favor, digite seu e-mail!", _email, _autoValidate),
                    buildTextField(width, "Digite sua senha", Icons.lock, true, "Por favor, digite sua senha!", _password, _autoValidate),
                    buildTextField(width, "Confirme sua senha", Icons.lock, true, "Por favor, confirme sua senha!", _passwordConfirm, _autoValidate),
                    Container(
                      height: height * 0.09,
                      width: width * 0.9,
                      padding: EdgeInsets.only(top: 10.0),
                      child: RaisedButton.icon(   
                        onPressed:
                          _validateSubmitRegister,
                          //Navigator.push(
                            //context,
                            //MaterialPageRoute(builder: (context) =&gt; Home()),
                          //);
  
                        label: Text(
                          'Registrar',
                          style: TextStyle(fontSize: 15, color: Colors.white),               
                        ),
                        color: Colors.red,
                        icon: Icon(Icons.account_circle, color: Colors.white),
                        shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0)),
  
                      ),
                    ),
                  ],
                ),
              ),
  
              Container(
                margin: EdgeInsets.only(top: 15),
                child: Material(
                  child: InkWell(
                    onTap: (){
                      Navigator.push(context, MaterialPageRoute(builder: (context) =&gt; CrukeLogin()));
                    },
                    child: Text("Já tem uma conta? Faça Login!", style: TextStyle(fontSize: 15, color: Colors.red),),
                  ),
  
                ),
  
              ),
            ],
          ),
        ),
  
      );
    }
  
  
    void _validateSubmitRegister() async{
      final form = formKey.currentState;
      if (formKey.currentState.validate()) {
        form.save();
        AuthResult result = await FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email, password: _password);
  FirebaseUser user = result.user;
      }
  
    }
  }
  </code></pre>