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.

77 lines
1.8KB

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