如何在Flutter中使用密码处理TextField验证

失血 :

我创建了一个登录页面,需要将这些内容添加到我的密码中。如何使用验证警报消息呢?

  • 至少1个大写字母
  • 至少1个小写字母
  • 最少1个数字
  • 至少1个特殊字符
  • 通用允许字符(!@#$&*〜)
Vignesh KM:

您需要使用正则表达式来验证结构。

 bool validateStructure(String value){
        String  pattern = r'^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[!@#\$&*~]).{8,}$';
        RegExp regExp = new RegExp(pattern);
        return regExp.hasMatch(value);
  }

output: 

    Vignesh123! : true
    vignesh123 : false
    VIGNESH123! : false
    vignesh@ : false
    12345678? : false

此函数将验证传递的值是否具有结构。

    var _usernameController = TextEditingController();
    String _usernameError;

    ...

    @override
    Widget build(BuildContext context) {
        return
        ...
        TextFormField(
          controller: _usernameController,
          decoration: InputDecoration(
              hintText: "Username", errorText: _usernameError),
          style: TextStyle(fontSize: 18.0),
        ),
        Container(
          width: double.infinity,
          height: 50.0,
          child: RaisedButton(
            onPressed: validate,
            child: Text(
              "Login",
              style: TextStyle(color: Colors.white),
            ),
            color: Theme.of(context).primaryColor,
            shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(50.0),
            ),
          ),
        ),
        ...
    }

    ...

    validate(){
        if(!validateStructure(_usernameController.text)){
            setState(() {
                _usernameError = emailError;
                _passwordError = passwordError;
            });
            // show dialog/snackbar to get user attention.
            return;
        }
        // Continue 
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Flutter中在TextField中使用onKeyUp事件

如何在flutter中使用sha256哈希密码?

如何在 Flutter 中使 TextField 居中

如何在NodeJ中使用.pfx证书和密码验证Bearer令牌?

如何在现有视图中使用Django密码验证?

如何在快速应用程序中使用mongoose for mongoDB验证密码以登录用户?

如何在C#中使用预先隐藏的mysql密码对登录进行身份验证?

如何在Flutter TextField上使用InputFormatter?

如何在TextField中使用ref

如何在Java中使用SHA-512对密码进行哈希处理?

轻按时如何在CupertinoTabView中使用Flutter Textfield而不引起异常?

如何在 ExpansionTile Flutter 中使用动态 TextField 控制器

如何在GnuPG中使用长密码?

如何使用 linearPercentIndicator 对 flutter 进行实时密码验证?

如何在sklearn中使用分层交叉验证处理多类

如何在Flutter中使用Restful调用来验证textformfield中的值?

如何在 Firebase 电话身份验证中使用 Flutter Bloc

如何在Flutter中使用Facebook执行Firebase身份验证

如何在Debian的Postgres 10中使用scram-sha-256?获取“致命错误:密码身份验证失败”

如何在Node.js中使用需要用户名/密码身份验证的REST API

如何在.netCore 3.1 Ubuntu容器中使用PEM密码短语/ TrustedRoot / TLS相互身份验证证书/私人密钥

如何在Ajax验证中使用WTForms?

如何在MATLAB中使用交叉验证

如何在Rails中使用ember验证?

如何在libSVM中使用交叉验证?

如何在:if验证中使用枚举值

如何在Django中使用验证器

如何在 python 中使用交叉验证?

如何在flutter中使用动画列表对最初渲染的项目进行动画处理