我正在嘗試進行驗證,我想檢查用戶的輸入是否包含數字和字母。所以我創建了這段代碼,但不知何故它不起作用。它沒有達到第一次列印,但似乎一切正常。
我的代碼:
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] $'"))]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/409982.html
標籤:
上一篇:我不明白如何使用串列修復錯誤
