我有 4 个文本表单字段。一个用于电子邮件、用户名和 2 个密码字段。他们都有适当的验证。除了我想检查两个密码是否相同的密码字段。不知道如何做那部分。我还有一个注册按钮,我想从这 4 个文本表单字段中收集输入并将其发送到注册按钮以使用 firebase 注册一个新帐户。如何让我的注册按钮接受这些表单输出?
1682 次
3 回答
0
您可以使用分配给每个 textformfield 的变量作为 value 属性,并使用 textformfield 中存在的 onchanged 方法为它们分配新值。像这样的东西:
TextFormField(值:_password,onchange:(val){_password = val;})
或者对 textformfield 使用控制器并在提交时获取它们的值:
TextFormField(控制器:_controller)
现在,在按钮上,您可以执行您的功能或调用具有以下功能的方法:
RaisedButton ( onPressed: () { /// 从控制器获取数据附加到 textformfield String password = _controller.text;
//// Firebase 身份验证代码在这里。})
于 2020-10-18T07:14:37.397 回答
0
您可以将控制器添加到您的四个TextField.
final _dataController = TextEditingController();
单击提交按钮时,您可以通过此获取值
String data = _dataController.text;
于 2020-10-18T06:34:09.823 回答
0
为了检查密码和确认密码是否相同,您可能必须在表单验证中添加条件部分。
您可以像这样注册用户:
String _email;
String _password; //add these two to the validation and set the value state = to these fields respectively.
try {
UserCredential userCredential = await
FirebaseAuth.instance.createUserWithEmailAndPassword(
email: _email,
password: _password
);
} on FirebaseAuthException catch (e) {
if (e.code == 'weak-password') {
print('The password provided is too weak.');
} else if (e.code == 'email-already-in-use') {
print('The account already exists for that email.');
}
} catch (e) {
print(e);
}
有关更多信息,请参阅此
于 2020-10-18T06:42:41.463 回答