Correction validation all formulaire
This commit is contained in:
@@ -8,6 +8,8 @@ public interface UserService {
|
|||||||
List<UserProfil> listeUtilisateurs();
|
List<UserProfil> listeUtilisateurs();
|
||||||
UserProfil utilisateurById(int id);
|
UserProfil utilisateurById(int id);
|
||||||
UserProfil utilisateurByName(String username);
|
UserProfil utilisateurByName(String username);
|
||||||
|
List<String> listPseudo();
|
||||||
|
List<String> listEmail();
|
||||||
void setUtilisateur(UserProfil utilisateur);
|
void setUtilisateur(UserProfil utilisateur);
|
||||||
void deleteUtilisateur(int id);
|
void deleteUtilisateur(int id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,16 @@ public class UserServiceImpl implements UserService {
|
|||||||
return userRepository.findByUsername(username);
|
return userRepository.findByUsername(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> listPseudo() {
|
||||||
|
return userRepository.findAllUsernames();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> listEmail() {
|
||||||
|
return userRepository.findAllEmail();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUtilisateur(UserProfil utilisateur) {
|
public void setUtilisateur(UserProfil utilisateur) {
|
||||||
userRepository.save(utilisateur);
|
userRepository.save(utilisateur);
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/inscription")
|
@RequestMapping("/inscription")
|
||||||
public class InscriptionController {
|
public class InscriptionController {
|
||||||
@@ -32,6 +34,21 @@ public class InscriptionController {
|
|||||||
|
|
||||||
@PostMapping("/newUser")
|
@PostMapping("/newUser")
|
||||||
public String setUser(@ModelAttribute("userProfile") UserProfil userProfile, BindingResult result) {
|
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);
|
userService.setUtilisateur(userProfile);
|
||||||
return "redirect:/login";
|
return "redirect:/login";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ public interface UserRepository {
|
|||||||
List<UserProfil> findAll();
|
List<UserProfil> findAll();
|
||||||
UserProfil findById(int id);
|
UserProfil findById(int id);
|
||||||
UserProfil findByUsername(String username);
|
UserProfil findByUsername(String username);
|
||||||
|
List<String> findAllUsernames();
|
||||||
|
List<String> findAllEmail();
|
||||||
void save(UserProfil utilisateur);
|
void save(UserProfil utilisateur);
|
||||||
void delete(int id);
|
void delete(int id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,19 @@ public class UserRepositoryImpl implements UserRepository {
|
|||||||
return user;
|
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
|
@Override
|
||||||
public List<UserProfil> findAll() {
|
public List<UserProfil> findAll() {
|
||||||
|
|||||||
@@ -107,7 +107,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="champ-saisie">
|
<div class="champ-saisie">
|
||||||
<label for="password" th:text="#{re}">Mot de passe: </label>
|
<label for="password">Mot de passe: </label>
|
||||||
<div>
|
<div>
|
||||||
<input type="password" th:field="*{password}" id="password" />
|
<input type="password" th:field="*{password}" id="password" />
|
||||||
</div>
|
</div>
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="champ-saisie">
|
<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>
|
<div>
|
||||||
<input type="password" id="confirmPassword" />
|
<input type="password" id="confirmPassword" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user