feat: register function can now return a nullable string

Works like a validator
This commit is contained in:
Bugfix Jacques 2023-09-20 11:45:55 +02:00
parent caf68b6d8f
commit e715b1192b
4 changed files with 7 additions and 6 deletions

View file

@ -9,8 +9,8 @@ import 'package:flutter_registration/flutter_registration.dart';
class ExampleRegistrationRepository with RegistrationRepository { class ExampleRegistrationRepository with RegistrationRepository {
@override @override
Future<bool> register(HashMap values) { Future<String?> register(HashMap values) {
debugPrint('register: $values'); debugPrint('register: $values');
return Future.value(true); return Future.value(null);
} }
} }

View file

@ -20,7 +20,7 @@ class RegistrationOptions {
final RegistrationTranslations registrationTranslations; final RegistrationTranslations registrationTranslations;
final List<AuthStep> registrationSteps; final List<AuthStep> registrationSteps;
final VoidCallback? onError; final void Function(String error)? onError;
final VoidCallback afterRegistration; final VoidCallback afterRegistration;
final RegistrationRepository registrationRepository; final RegistrationRepository registrationRepository;
final AppBar Function(String title)? customAppbarBuilder; final AppBar Function(String title)? customAppbarBuilder;

View file

@ -23,10 +23,11 @@ class RegistrationScreen extends StatelessWidget {
try { try {
var registered = var registered =
await registrationOptions.registrationRepository.register(values); await registrationOptions.registrationRepository.register(values);
if (registered) {
if (registered == null) {
registrationOptions.afterRegistration(); registrationOptions.afterRegistration();
} else { } else {
registrationOptions.onError?.call(); registrationOptions.onError?.call(registered);
onError(); onError();
} }
} catch (e) { } catch (e) {

View file

@ -5,5 +5,5 @@
import 'dart:collection'; import 'dart:collection';
mixin RegistrationRepository { mixin RegistrationRepository {
Future<bool> register(HashMap values); Future<String?> register(HashMap values);
} }