颤振:'(dynamic) => Text' 型不是 '(DateTime) => String' 型的子类型



我想从用户那里得到一个开始和结束日期,我使用validator属性,但它给了我一个错误:

type '(dynamic) => Text' is not a subtype of type '(DateTime) => String'

我在DateTimeField()中使用的验证器:

validator: (value){        
if(value.isAfter(endDate)){return Text('please enter a valid date');}
},

my method for validator:

final _formKey = GlobalKey<FormState>();
void _trySubmit() {
final isValid = _formKey.currentState.validate();
FocusScope.of(context).unfocus(); //close soft keyboard
if (isValid) {
_formKey.currentState.save();
}
}

我想知道我的错误在哪里?

删除text小部件后,您的validator代码应该如下所示

validator: (value){        
if(value.isAfter(endDate)){
return "please enter a valid date";
}
},

您还需要在textfield或Form中传递_formkey,因此将其定义在textfield或Form上方并传递

相关内容

最新更新