参数类型'Pattern'不能分配给参数类型"字符串"?



我刚开始进行身份验证,就出现了这个错误。

validator: (value) {
Pattern pattern =
r'^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)| (".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$';
RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(value!))
return 'Enter a valid email';
else
return null;
},

从这里复制:https://medium.com/swlh/how-to-implement-autofill-in-your-flutter-app-b43bddab1a97

但是修正了一个错误,必须添加null检查到(value!))。这是一个类似的问题吗?

这是参考,检查下面的代码

validator: (value) {
if (value != null || value.isNotEmpty) {
final RegExp regex =
RegExp(r'^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)| (".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$');
if (!regex.hasMatch(value!))
return 'Enter a valid email';
else
return null;
} else {
return 'Enter a valid email';
}},

最新更新