forms - 如何在 Onpressed FlatButton 中放置两个条件?
问题描述
我尝试使用电子邮件和密码的值设置两个条件,以便仅在两个条件得到验证但它不起作用时才激活我的按钮,因为我认为我的语法写得不好。
你能帮我解决这个问题吗?
另外,除了按钮没有像失去功能一样导航到主页这一事实外,我没有任何错误消息。
这是我的代码
child: FlatButton(
padding: EdgeInsets.symmetric(vertical: 14, horizontal: 40),
color: DarkTurquoise,
onPressed: _password.length < 6 ? null :() {
!emailRegex.hasMatch(_email) ? null : () {
if (_formKey.currentState!.validate()) {
print(_email);
print(_password);
}
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => HomeScreen(),
),
);
};
},
解决方案
如果您需要同时验证两个条件,请使用“&&”运算符。
_password.length < 6 && !emailRegex.hasMatch(_email) ? <do something> : <do someting>
child: FlatButton(
padding: EdgeInsets.symmetric(vertical: 14, horizontal: 40),
color: DarkTurquoise,
onPressed: _password.length < 6 && !emailRegex.hasMatch(_email) ? null : () {
if (_formKey.currentState!.validate()) {
print(_email);
print(_password);
}
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => HomeScreen(),
),
);
},
),
推荐阅读
- javascript - 记住最后一个单选按钮默认显示为 js-cookie
- logging - 在 asp.net core web api 中获取真实的总请求时间
- angular - Angular Bootstrap - ngbDatepicker - 将选定的日期转换为日期对象
- python - 尝试使用 pylibfreenect2 存储深度图像
- python-3.x - 从 NLTK 中的大型标记中删除垃圾词
- nginx - Nginx proxy_pass Rabbitmq 授权
- android - 如何独立运行两个 FirebaseVisionFaceDetector?
- c# - System.TypeLoadException:无法从程序集“Microsoft.AspNetCore.Http.Abstractions,版本 = 3.0.1.0,加载类型“System.Web.HttpUtility”,
- c - 需要帮助查找和打印二维数组的一行的平均值,使用一些函数
- angular - 摆脱嵌套的 observables