我面临验证文本字段的问题。 此处您需要以 dd.mm.yyyy 格式输入日期。我还为此表单使用 flutter_multi_formatter 包。
import 'package:flutter/material.dart';
import 'package:flutter_multi_formatter/formatters/masked_input_formatter.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(home: StartPage());
}
}
class StartPage extends StatelessWidget {
const StartPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.symmetric(vertical: 300, horizontal: 50),
child: TextFormField(
onChanged: (val) {},
keyboardType: TextInputType.number,
decoration: const InputDecoration(hintText: 'dd.mm.yyyy'),
inputFormatters: [MaskedInputFormatter('##.##.####')],
),
),
);
}
}
例如,用户将开始输入不正确的日期格式:32.13.2009。我希望带有错误通知的文本出现在该表单下方。如果输入的日期不正确,是否可以为此表单添加验证?也许最好解析输入的文本并使用条件来比较数字。我会很高兴任何帮助。
我建议你看看flutter本身提供的Flutter Form Validation文档。
示例:
TextFormField(
// The validator receives the text that the user has entered.
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter some text';
}
return null;
},
),