mirror of
https://github.com/supabase/supabase.git
synced 2026-10-11 20:35:07 +03:00
38 lines
951 B
Dart
38 lines
951 B
Dart
import 'dart:math';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
import '/utils/constants.dart';
|
|
|
|
String? validateEmail(String? value) {
|
|
const String pattern =
|
|
r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]"
|
|
r"{0,253}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]"
|
|
r"{0,253}[a-zA-Z0-9])?)*$";
|
|
final RegExp regex = RegExp(pattern);
|
|
if (value == null || !regex.hasMatch(value)) {
|
|
return 'Not a valid email.';
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
String? validatePassword(String? value) {
|
|
return value == null || value.isEmpty ? 'Invalid password' : null;
|
|
}
|
|
|
|
String randomString(int length) {
|
|
const ch = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz';
|
|
final Random r = Random();
|
|
return String.fromCharCodes(
|
|
Iterable.generate(length, (_) => ch.codeUnitAt(r.nextInt(ch.length))));
|
|
}
|
|
|
|
String? get authRedirectUri {
|
|
if (kIsWeb) {
|
|
return null;
|
|
} else {
|
|
return myAuthRedirectUri;
|
|
}
|
|
}
|