【发布时间】:2021-05-11 03:44:31
【问题描述】:
我设法得到了 18 年前的今天的日期:
var formatter = DateFormat('dd/MM/yyyy');
DateTime today = DateTime.now();
final eighteenY = DateTime(today.year - 18, today.month, today.day);
但现在我需要检查用户输入的日期是否在该日期和今天的日期之间,如果是,那么他们未超过 18 岁。我该怎么做?这是我的代码:
MaskedTextController _maskDOBController =
MaskedTextController(mask: '00/00/0000');
@override
Widget build(BuildContext context) {
return Scaffold(
body:
return Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
height: 48,
width: 500,
child: TextFormField(
controller: _maskDOBController,
onChanged: (string){
setState(() {
provider.dobString = string;
dobError = false;
});
},
),
),
],
),
),
Container(height: 80),
Container(
GestureDetector(
onTap: (){
// if the date a user enters in textfield is between that date and today's date
// print('user is underage');
}
child: Text(
'Continue'
),
),
);
【问题讨论】:
-
这能回答你的问题吗? How to make age validation in flutter
-
是的,完美,谢谢。我实际上并没有尝试过你的答案 - 但评论将我链接到该问题的第一个答案
-
不客气!大多数解决方案都行得通,这完全取决于您喜欢什么语法。