import 'formatter.dart'; class Validators { static final RegExp _emailRegExp = RegExp( r'^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$', ); static final RegExp _passwordRegExp = RegExp( r'^.{4,8}$', ); static isValidEmail(String email) { return _emailRegExp.hasMatch(email); } static isValidPassword(String password) { return _passwordRegExp.hasMatch(password); } static isValidName(String name) { return name.isNotEmpty; } static String validateNotNullOrEmpty(String value, String errorMessage) { if (value.length == 0) { return errorMessage; } else { return null; } } static String validNumber(String value, String errorMessage) { try { var doubleValue = value.parseDoubleThousand(); if (doubleValue > 0) { return null; } else { return errorMessage; } } catch (_) { return errorMessage; } } static String validateEmail(String value) { String pattern = 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,}))$'; RegExp regExp = new RegExp(pattern); if (value.length == 0) { return "Nhập email"; } else if (!regExp.hasMatch(value)) { return "Email không đúng"; } else { return null; } } String validateNewPassword(String value) { if (value.length == 0) { return "Nhập mật khẩu mới"; } else { return null; } } String validateConfirmPassword(String newPassword, String value) { if (value.length == 0) { return "Nhập lại mật khẩu mới"; } else if (newPassword != value) { return "Mật khẩu không trùng khớp"; } else { return null; } } } final validators = Validators();