我正在尝试进行验证,我想检查用户的输入是否包含数字和字母。所以我创建了这段代码,但不知何故它不起作用。它没有达到第一次打印,但似乎一切正常。
我的代码:
final GlobalKey<FormState> _key = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return Form(
key: _key,
child: TextFormField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(5.0)),
borderSide: BorderSide(
color: Colors.blue,
width: 2,
)),
),
validator: (value) {
if (value == null || value.isEmpty) {
print(value);
print('iam here');
return 'Plate number is required';
}
String pattern = r'[!@#<>?":_`~;[\]\\|= )(*&^%0-9-]';
if (!RegExp(pattern, caseSensitive: false, unicode: true, dotAll: true).hasMatch(value)) return 'invalid form';
return null;
}),
uj5u.com热心网友回复:
我喜欢以这种方式使用正则表达式进行验证
TextFormField(inputFormatters: <TextInputFormatter>[FilteringTextInputFormatter.allow(RegExp("r'^[a-zA-Z0-9] $'"))]
0 评论