flutter 输入框 校验

在Flutter中,您可以使用TextFormField来实现输入框校验。TextFormField是Flutter中带有校验功能的输入框。它需要一个Form作为父组件,然后您可以在TextFormField中指定validator函数进行校验。

以下是一个简单的例子:

class MyForm extends StatefulWidget {
  @override
  _MyFormState createState() => _MyFormState();
class _MyFormState extends State<MyForm> {
  final _formKey = GlobalKey<FormState>();
  @override
  Widget build(BuildContext context) {
    return Form(
      key: _formKey,
      child: Column(
        children: <Widget>[
          TextFormField(
            validator: (value) {
              if (value.isEmpty) {
                return '请输入内容';
              return null;
          RaisedButton(
            onPressed: () {
              if (_formKey.currentState.validate()) {
                Scaffold.of(context)
                    .showSnackBar(SnackBar(content: Text('校验通过')));
            child: Text('提交'),

如果用户输入内容不为空,则validator函数将返回null,表示校验通过。如果用户输入内容为空,则validator函数将返回一个错误消息,告诉用户必须输入内容。当您点击提交按钮时,会调用_formKey.currentState.validate()方法,如果所有的TextFormField都通过了校验,则显示一个SnackBar表示校验通过。

  • 提供了一个完整可复用的弹出式底部输入框。
  •