颤振键盘

时间:2020-09-02 05:47:53

标签: flutter dart

我正在填写电子邮件textFormField并使用keyboardType:TextInputType.emailAddress。我希望键盘在TextFormField内部仅使用小写字母。怎么办呢?

这是我正在使用的TextFormField。

TextFormField(
                                  validator: (value) {
                                    return value.isEmpty
                                        ? 'Please enter your email address.'
                                        : RegExp(r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+")
                                                .hasMatch(value)
                                            ? null
                                            : 'Please enter a valid email.';
                                  },
                                  controller: _emailController,
                                  keyboardType: TextInputType.emailAddress,
                                  onChanged: (value) {
                                    email = value.toLowerCase();
                                  },
                                  decoration: kTextFieldDecoration.copyWith(
                                    hintText: 'Enter your email',
                                    prefixIcon: Icon(
                                      Icons.email,
                                      color: Color(0x759E9E9E),
                                    ),
                                    suffixIcon: IconButton(
                                      icon: Icon(
                                        Icons.clear,
                                      ),
                                      splashRadius: 25.0,
                                      onPressed: () {
                                        setState(() {
                                          _emailController.clear();
                                        });
                                      },
                                    ),
                                  ),
                                ),

1 个答案:

答案 0 :(得分:0)

像这样修改TextFormField validator

return Form(
autovalidate: true,
child: Container(
TextFormField(
validator: (String val) {

if (val.isEmpty)
return 'We need something to search for';
else
{
  // Use your TextEditingController to get text
_textController.text=val.toLowerCase();
setState((){});
return null;
},
},
),
),
);

编辑:您已编辑问题: 像这样修改验证器:

validator: (value) {
                                    if(value.isEmpty) return 'Please enter your email address.';
else{

                   _emailController.text=value.toLowerCase();
                    setState((){});
                           return RegExp(r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+")
                                                .hasMatch(value)
                                            ? null
                                            : 'Please enter a valid email.';

}
                             

     },