我想从用户那里得到一个开始和结束日期,我使用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上方并传递