Correction validation all formulaire
This commit is contained in:
@@ -8,6 +8,8 @@ public interface UserService {
|
||||
List<UserProfil> listeUtilisateurs();
|
||||
UserProfil utilisateurById(int id);
|
||||
UserProfil utilisateurByName(String username);
|
||||
List<String> listPseudo();
|
||||
List<String> listEmail();
|
||||
void setUtilisateur(UserProfil utilisateur);
|
||||
void deleteUtilisateur(int id);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,16 @@ public class UserServiceImpl implements UserService {
|
||||
return userRepository.findByUsername(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> listPseudo() {
|
||||
return userRepository.findAllUsernames();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> listEmail() {
|
||||
return userRepository.findAllEmail();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUtilisateur(UserProfil utilisateur) {
|
||||
userRepository.save(utilisateur);
|
||||
|
||||
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/inscription")
|
||||
public class InscriptionController {
|
||||
@@ -32,6 +34,21 @@ public class InscriptionController {
|
||||
|
||||
@PostMapping("/newUser")
|
||||
public String setUser(@ModelAttribute("userProfile") UserProfil userProfile, BindingResult result) {
|
||||
// Vérifier si le pseudo existe déjà
|
||||
List<String> allUsernames = userService.listPseudo();
|
||||
if (allUsernames.contains(userProfile.getPseudo())) {
|
||||
result.rejectValue("pseudo", "error.userProfile", "Ce pseudo est déjà utilisé.");
|
||||
}
|
||||
// Vérifier si l'e-mail existe déjà
|
||||
List<String> allEmails = userService.listEmail();
|
||||
if (allEmails.contains(userProfile.getEmail())) {
|
||||
result.rejectValue("email", "error.userProfile", "Cet e-mail est déjà utilisé.");
|
||||
}
|
||||
// Si des erreurs de validation sont détectées, retourner à la page de création de compte
|
||||
if (result.hasErrors()) {
|
||||
return "inscription";
|
||||
}
|
||||
// Sinon, enregistrer l'utilisateur et rediriger vers la page de connexion
|
||||
userService.setUtilisateur(userProfile);
|
||||
return "redirect:/login";
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ public interface UserRepository {
|
||||
List<UserProfil> findAll();
|
||||
UserProfil findById(int id);
|
||||
UserProfil findByUsername(String username);
|
||||
List<String> findAllUsernames();
|
||||
List<String> findAllEmail();
|
||||
void save(UserProfil utilisateur);
|
||||
void delete(int id);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,19 @@ public class UserRepositoryImpl implements UserRepository {
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> findAllUsernames() {
|
||||
String sql = "SELECT pseudo FROM UTILISATEURS WHERE isDelete = 0";
|
||||
List<String> usernames = jdbcTemplate.queryForList(sql, String.class);
|
||||
return usernames;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> findAllEmail() {
|
||||
String sql = "SELECT email FROM UTILISATEURS WHERE isDelete = 0";
|
||||
List<String> email = jdbcTemplate.queryForList(sql, String.class);
|
||||
return email;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserProfil> findAll() {
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="champ-saisie">
|
||||
<label for="password" th:text="#{re}">Mot de passe: </label>
|
||||
<label for="password">Mot de passe: </label>
|
||||
<div>
|
||||
<input type="password" th:field="*{password}" id="password" />
|
||||
</div>
|
||||
@@ -118,7 +118,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="champ-saisie">
|
||||
<label for="confirmPassword" th:text="#{}">Confirmation du mot de passe: </label>
|
||||
<label for="confirmPassword">Confirmation du mot de passe: </label>
|
||||
<div>
|
||||
<input type="password" id="confirmPassword" />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user