如何在dart/flutter中对TextFormField验证器函数中的字符串进行null/empty检查?

smdncfj3  于 2023-07-31  发布在  Flutter
关注(0)|答案(3)|浏览(180)

是否有更短的方法来检查字符串是否为null或空?我需要每次在if中写入2个条件来检查它吗?

validator: (value) {
    if (value == null || value.isEmpty){
        //....
    }
}

字符串
在python中,我们可以做if value,它可以工作。在JavaScript中,我们可以做if(!value)

kg7wmglp

kg7wmglp1#

根据我的理解,TextEditingController使用TextEditingValue.empty,它最初提供空字符串。我无法获得null异常。
我认为我们可以使用!,同时我们确定值为空,而不是null。

validator: (value) {
  if (value!.isEmpty) return "Empty";

字符串
对于可空数据类型,我总是喜欢先检查null。

w46czmvw

w46czmvw2#

试试这个

validator: (value) {
if (value.isNotEmpty){
     print(value);
 }else{
   print("Empty");
 }
}

字符串

afdcj2ne

afdcj2ne3#

做警卫检查

validator: (String? value) {
  if (value?.isNotEmpty == true) {
    return null;
  }
  
  return 'Value cannot be null or empty';
},

字符串
这样就可以了,因为?.== true的组合将检查null
.isNotEmpty检查方法的用法,如果不为空。

相关问题