You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.1KB

  1. import 'formatter.dart';
  2. class Validators {
  3. static final RegExp _emailRegExp = RegExp(
  4. r'^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$',
  5. );
  6. static final RegExp _passwordRegExp = RegExp(
  7. r'^.{4,8}$',
  8. );
  9. static isValidEmail(String email) {
  10. return _emailRegExp.hasMatch(email);
  11. }
  12. static isValidPassword(String password) {
  13. return _passwordRegExp.hasMatch(password);
  14. }
  15. static isValidName(String name) {
  16. return name.isNotEmpty;
  17. }
  18. static String validateNotNullOrEmpty(String value, String errorMessage) {
  19. if (value.length == 0) {
  20. return errorMessage;
  21. } else {
  22. return null;
  23. }
  24. }
  25. static String validNumberOrEmpty(String value, String errorMessage) {
  26. if (value.isEmpty) return null;
  27. try {
  28. var doubleValue = value.parseDoubleThousand();
  29. if (doubleValue > 0) {
  30. return null;
  31. } else {
  32. return errorMessage;
  33. }
  34. } catch (_) {
  35. return errorMessage;
  36. }
  37. }
  38. static bool stringNotNullOrEmpty(String value) {
  39. if (value == null) {
  40. return false;
  41. } else if (value.trim().isEmpty) {
  42. return false;
  43. } else {
  44. return true;
  45. }
  46. }
  47. static String validateEmail(String value) {
  48. String pattern =
  49. r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$';
  50. RegExp regExp = new RegExp(pattern);
  51. if (value.length == 0) {
  52. return "Nhập email";
  53. } else if (!regExp.hasMatch(value)) {
  54. return "Email không đúng";
  55. } else {
  56. return null;
  57. }
  58. }
  59. String validateNewPassword(String value) {
  60. if (value.length == 0) {
  61. return "Nhập mật khẩu mới";
  62. } else {
  63. return null;
  64. }
  65. }
  66. String validateConfirmPassword(String newPassword, String value) {
  67. if (value.length == 0) {
  68. return "Nhập lại mật khẩu mới";
  69. } else if (newPassword != value) {
  70. return "Mật khẩu không trùng khớp";
  71. } else {
  72. return null;
  73. }
  74. }
  75. }
  76. final validators = Validators();