如何让我的验证器更可靠?

问题描述 投票:0回答:1

我已经尝试为我的移动应用程序制作自己的验证器,问题是有时我会收到用户的反馈,他们切断了验证器并且出现了错误,我试图到处寻找解决方案,但至少在 flutter 的前端我找不到任何可靠的包......其中许多已经过时了至少 2-3 年。

另外,我不知道密码电子邮件字段中允许哪些内容以及不允许哪些内容,我是否需要截掉可能会弄乱我的数据库的符号或字符,或者 mysql2 可以处理它?

有人对此有任何解决方案吗?或者你们只在后端使用验证器?

谢谢。 这是我的代码:

bool isValidUsername(String username) {
  final RegExp usernamePattern =
      RegExp(r'^[\p{L}\p{N}_.-]{3,20}$', unicode: true);
  return usernamePattern.hasMatch(username);
}

bool isValidEmail(String email) {
  final RegExp emailPattern = RegExp(
    r'^[^\s@]+@[^\s@]+\.[^\s@]+$',
    unicode: true,
  );
  return emailPattern.hasMatch(email);
}

bool isValidPassword(String password) {
  final RegExp passwordPattern = RegExp(
    r'^[\p{L}\p{N}\p{P}\p{S}\p{Zs}]{8,50}$',
    unicode: true,
  );

  final RegExp problematicPattern = RegExp(
    r'[\x00-\x1F\x7F]',
    unicode: true,
  );

  return passwordPattern.hasMatch(password) &&
      !problematicPattern.hasMatch(password);
}

mysql flutter validation
1个回答
0
投票

您的电子邮件验证正则表达式应替换为 package:email_valid。 匹配有效电子邮件的正则表达式大约有 2400 个字符。

此外,如果您为 SQL 交互练习了正确的占位符,那么密码中的内容根本不重要。 停止过滤那些。特别审查正确的马电池钉并允许用户想要的任何东西,只要有足够的位即可。

© www.soinside.com 2019 - 2024. All rights reserved.