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.

43 lines
1.2 KiB

2 years ago
  1. class Validators {
  2. static String? validateName({required String? name}) {
  3. if (name == null || name.isEmpty) {
  4. return 'Name can\'t be empty';
  5. }
  6. return null;
  7. }
  8. static String? validateEmail({required String? email}) {
  9. RegExp emailRegExp = RegExp(
  10. r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?)*$");
  11. if (email == null || email.isEmpty) {
  12. return 'Email can\'t be empty';
  13. } else if (!emailRegExp.hasMatch(email)) {
  14. return 'Enter a correct email';
  15. }
  16. return null;
  17. }
  18. static String? validatePassword({required String? password}) {
  19. if (password == null || password.isEmpty) {
  20. return 'Password can\'t be empty';
  21. } else if (password.length < 6) {
  22. return 'Enter a password with length at least 6';
  23. }
  24. return null;
  25. }
  26. static String? validateConfirmPassword(
  27. {required String? password, required String? confirmPassword}) {
  28. if (password == null ||
  29. confirmPassword == null ||
  30. password != confirmPassword) {
  31. return 'Enter the same password';
  32. }
  33. return null;
  34. }
  35. }