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.

78 lines
1.9KB

  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 String validateEmail(String value) {
  39. String pattern =
  40. 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,}))$';
  41. RegExp regExp = new RegExp(pattern);
  42. if (value.length == 0) {
  43. return "Nhập email";
  44. } else if (!regExp.hasMatch(value)) {
  45. return "Email không đúng";
  46. } else {
  47. return null;
  48. }
  49. }
  50. String validateNewPassword(String value) {
  51. if (value.length == 0) {
  52. return "Nhập mật khẩu mới";
  53. } else {
  54. return null;
  55. }
  56. }
  57. String validateConfirmPassword(String newPassword, String value) {
  58. if (value.length == 0) {
  59. return "Nhập lại mật khẩu mới";
  60. } else if (newPassword != value) {
  61. return "Mật khẩu không trùng khớp";
  62. } else {
  63. return null;
  64. }
  65. }
  66. }
  67. final validators = Validators();