diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt
index 0e39df4..cce938e 100644
--- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt
+++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SignUpPage.kt
@@ -7,8 +7,10 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.KeyboardOptions
+import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Check
import androidx.compose.material3.Button
@@ -51,7 +53,8 @@ fun SignUpPage(navControllerLogin: () -> Unit, services : IServices) {
Box(
modifier = Modifier
.fillMaxSize()
- .background(colorBackground),
+ .background(colorBackground)
+ .verticalScroll(rememberScrollState()),
contentAlignment = Alignment.Center
){
Column(
@@ -191,17 +194,19 @@ fun ConnexionButtonSign(
var emailError by remember { mutableStateOf(false) }
var passwordError by remember { mutableStateOf(false) }
var passwordErrorEmpty by remember { mutableStateOf(false) }
- var usernameErrorEmpty by remember { mutableStateOf(false) }
+ var usernameError by remember { mutableStateOf(false) }
var usernameErrorExist by remember { mutableStateOf(false) }
+ val invalidRegex = """^[a-zA-Z0-9]*$""".toRegex()
+
Button(
onClick = {
emailError = !isValidEmail(email)
passwordError = !arePasswordsMatching(password, confirmPassword)
- usernameErrorEmpty = username.isBlank()
+ usernameError = username.isBlank() && !username.matches(invalidRegex)
passwordErrorEmpty = password.isBlank() || confirmPassword.isBlank()
- if (!emailError && !passwordError && !usernameErrorEmpty && !passwordErrorEmpty) {
+ if (!emailError && !passwordError && !usernameError && !passwordErrorEmpty) {
usernameErrorExist = !service.CreateUser(username, email, password, service)
if(!usernameErrorExist){
navController() // retour à la page login
@@ -215,8 +220,8 @@ fun ConnexionButtonSign(
}
// Afficher erreurs
- if (usernameErrorEmpty) {
- ErrorMessageProfileComponent(R.string.ErrorUserEmptySignUp)
+ if (usernameError) {
+ ErrorMessageProfileComponent(R.string.ErrorUserSignUp)
}
if (usernameErrorExist) {
diff --git a/What_The_Fantasy/app/src/main/res/values-fr/strings.xml b/What_The_Fantasy/app/src/main/res/values-fr/strings.xml
index 9cdf238..0bd5230 100644
--- a/What_The_Fantasy/app/src/main/res/values-fr/strings.xml
+++ b/What_The_Fantasy/app/src/main/res/values-fr/strings.xml
@@ -29,7 +29,7 @@
Email*
Email invalide
Les mots de passe ne correspondent pas
- Le nom d\'utilisateur ne peut pas être vide
+ Le nom d\'utilisateur n\'est pas correct
Le nom d\'utilisateur ou l\'email ne sont pas disponibles
Vous devez mettre un mot de passe
diff --git a/What_The_Fantasy/app/src/main/res/values/strings.xml b/What_The_Fantasy/app/src/main/res/values/strings.xml
index 29d2f72..8e12c0e 100644
--- a/What_The_Fantasy/app/src/main/res/values/strings.xml
+++ b/What_The_Fantasy/app/src/main/res/values/strings.xml
@@ -28,7 +28,7 @@
Your email*
Invalid email
Passwords do not match
- Username cannot be empty
+ Username invalid
Username or email are not available
You must put a password