Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 为什么TextFormField允许我输入超过maxLength的值?_Flutter - Fatal编程技术网

Flutter 为什么TextFormField允许我输入超过maxLength的值?

Flutter 为什么TextFormField允许我输入超过maxLength的值?,flutter,Flutter,我有一个表单,这是其中一个字段: Widget _title() { return TextFormField( maxLength: 60, maxLengthEnforced: true, minLines: 1, maxLines: 2, focusNode: _titleFocusNode, controller: _titleController, validator: (value) {

我有一个表单,这是其中一个字段:

Widget _title() {
    return TextFormField(
      maxLength: 60,
      maxLengthEnforced: true,
      minLines: 1,
      maxLines: 2,
      focusNode: _titleFocusNode,
      controller: _titleController,
      validator: (value) {
        if (value.length < 4) {
          return 'Title is too short (at least 3 characters)';
        }
        return null;
      },
      decoration: InputDecoration(
        labelText: "Title",
      ),
    );
  }
Widget\u title(){
返回TextFormField(
最大长度:60,
马克斯:是的,
小姑娘:1,
maxLines:2,
焦点节点:_titleFocusNode,
控制器:\标题控制器,
验证器:(值){
如果(值。长度<4){
返回“标题太短(至少3个字符)”;
}
返回null;
},
装饰:输入装饰(
标签文字:“标题”,
),
);
}
但是,我可以输入超过最大标题长度的内容:


我做错了什么?

使用
inputFormatters
属性。以下代码将textFormField的长度限制为60

有时
maxLength
不能按预期工作,我不知道为什么,您可以使用
inputFormatters
而不是
maxLength
它每次都能正常工作

导入

import 'package:flutter/services.dart';
在文本字段中

new TextFormField(
  inputFormatters: [
    new LengthLimitingTextInputFormatter(60),
  ],
);