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.

96 lines
2.3KB

  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? validateNotNullOrEmpty(String? value, String errorMessage) {
  26. if (!stringNotNullOrEmpty(value)) {
  27. return errorMessage;
  28. }
  29. return null;
  30. }
  31. static String? validNumberOrEmpty(String value, String errorMessage) {
  32. try {
  33. if (value.isEmpty) return errorMessage;
  34. var doubleValue = value.parseDoubleThousand();
  35. if (doubleValue > 0) {
  36. return null;
  37. } else {
  38. return errorMessage;
  39. }
  40. } catch (_) {
  41. return errorMessage;
  42. }
  43. }
  44. static bool stringNotNullOrEmpty(String? value) {
  45. if (value == null) {
  46. return false;
  47. } else if (value.trim().isEmpty) {
  48. return false;
  49. } else {
  50. return true;
  51. }
  52. }
  53. static String? validateEmail(String value) {
  54. String pattern =
  55. 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,}))$';
  56. RegExp regExp = new RegExp(pattern);
  57. if (value.length == 0) {
  58. return "Nhập email";
  59. } else if (!regExp.hasMatch(value)) {
  60. return "Email không đúng";
  61. } else {
  62. return null;
  63. }
  64. }
  65. String? validateNewPassword(String? value) {
  66. if (value?.length == 0) {
  67. return "Nhập mật khẩu mới";
  68. } else {
  69. return null;
  70. }
  71. }
  72. String? validateConfirmPassword(String newPassword, String value) {
  73. if (value.length == 0) {
  74. return "Nhập lại mật khẩu mới";
  75. } else if (newPassword != value) {
  76. return "Mật khẩu không trùng khớp";
  77. } else {
  78. return null;
  79. }
  80. }
  81. }
  82. final validators = Validators();