Sapor2211
Cadet 4th Year
- Registriert
- Dez. 2013
- Beiträge
- 82
Hallo CB Forum,
Ich habe momentan das Phänomen das in meiner SpringBoot Applikation zwar die Validierung der Inputfiels funktioniert (Routing zurück zur Ursprungsseite bei Fehlerhafter eingabe) aber ich/der Benutzer keinerlei Message dazu erhalte.
Dies sollte eigentlich in meiner iaas.html über die folgende Zeile erfolgen:
Wenn fields.hasErrors erfolgt sollte die Zeile "Enter Id" erfolgen. Dies tut es aber nicht. Ich werde/bleibe auf der iaas.html Seite und im Debugger sehe ich meine Fehlerausgabe:
Die Validation errors while submitting form kommt aus meiner IaasController.java Class
Ich habe mehrere Formen der Error Messages von Thymleaf ausprobiert ohne Erfolg.
Jemand eine Idee ? Vielen Dank schonmal im Vorraus
Auszug iaas.html
IaasController.java
IaasService.java
IaasUser.java
Ich habe momentan das Phänomen das in meiner SpringBoot Applikation zwar die Validierung der Inputfiels funktioniert (Routing zurück zur Ursprungsseite bei Fehlerhafter eingabe) aber ich/der Benutzer keinerlei Message dazu erhalte.
Dies sollte eigentlich in meiner iaas.html über die folgende Zeile erfolgen:
HTML:
<tr>
<td>User ID</td>
<td><input type="text" class="form-control" placeholder="UserID" th:field="*{userId}" />
<label th:if="${#fields.hasErrors('userId')}" th:class="'error'" >Enter Id</label>
</td>
</tr>
Wenn fields.hasErrors erfolgt sollte die Zeile "Enter Id" erfolgen. Dies tut es aber nicht. Ich werde/bleibe auf der iaas.html Seite und im Debugger sehe ich meine Fehlerausgabe:
Code:
2018-10-13 20:14:08.846 INFO 18000 --- [nio-8080-exec-2] d.v.cloudController.IaasController : Validation errors while submitting form.
Die Validation errors while submitting form kommt aus meiner IaasController.java Class
Ich habe mehrere Formen der Error Messages von Thymleaf ausprobiert ohne Erfolg.
Jemand eine Idee ? Vielen Dank schonmal im Vorraus
Auszug iaas.html
HTML:
<form action="#" th:action="@{/cloud/iaas}"
th:object="${user}" method="POST">
<table class="table table-hover">
<tr>
<td>User ID</td>
<td><input type="text" class="form-control" placeholder="UserID" th:field="*{userId}" />
<label th:if="${#fields.hasErrors('userId')}" th:class="'error'" >Enter Id</label>
</td>
</tr>
<tr>
<td>User Name</td>
<td><input type="text" class="form-control" placeholder="Miriam Musterfrau" th:field="*{userName}" /> <label
th:if="${#fields.hasErrors('userName')}" th:class="'error'">Enter
User Name</label></td>
</tr>
<tr>
<td>Gender</td>
<td><input type="radio" class="radio-inline" th:field="*{gender}" value="Male" /><label> Male</label>
<input type="radio" class="radio-inline" th:field="*{gender}" value="Female" /><label> Female</label>
<label th:if="${#fields.hasErrors('gender')}"
th:class="'error'">Select Gender</label></td>
</tr>
<tr>
<td>Married?</td>
<td><input type="checkbox" class="checkbox-inline" th:field="*{married}" /></td>
</tr>
<tr>
<td>Profile</td>
<td><select class="form-control" th:field="*{profile}">
<option th:each="profile : ${allProfiles}"
th:value="${profile}" th:text="${profile}">Profile</option>
</select></td>
</tr>
<tr>
<td colspan="2"><input type="submit" class="btn btn-default"th:value="Submit" />
<input type="reset" class="btn btn-default" th:value="Reset" /></td>
</tr>
</table>
</form>
IaasController.java
Java:
@Controller
@RequestMapping(value = "/cloud")
public class IaasController {
private static final Logger logger = LoggerFactory.getLogger(IaasController.class);
@Autowired
private IaasService userService;
@RequestMapping("/cloud/iaas")
public String getIaas() {
return "/cloud/iaas";
}
@GetMapping(value = "/iaas")
public ModelAndView createUserView() {
ModelAndView modelAndView = new ModelAndView("cloud/iaas");
modelAndView.addObject("user", new IaasUser());
modelAndView.addObject("allProfiles", getProfiles());
modelAndView.addObject("page", "IaaS");
return modelAndView;
}
@PostMapping("/iaas")
public ModelAndView createUser(@Valid IaasUser user, BindingResult result) {
ModelAndView modelAndView = new ModelAndView();
if (result.hasErrors()) {
logger.info("Validation errors while submitting form.");
modelAndView.setViewName("cloud/iaas"); //iaas.html
modelAndView.addObject("user", user);
modelAndView.addObject("allProfiles", getProfiles());
modelAndView.addObject("page", "IaaS");
return modelAndView;
}
userService.addUser(user);
modelAndView.addObject("allUsers", userService.getAllUsers());
modelAndView.setViewName("cloud/iaasconfirm"); //iaasconfrim.html
logger.info("Form submitted successfully.");
return modelAndView;
}
private List<String> getProfiles() {
List<String> list = new ArrayList<>();
list.add("Associate");
list.add("AVP");
list.add("VP");
list.add("Director");
return list;
}
}
IaasService.java
Java:
@Service
public class IaasService {
private List<IaasUser> userList = new ArrayList<>();
public List<IaasUser> getAllUsers(){
return userList;
}
public void addUser(IaasUser user) {
userList.add(user);
}
}
IaasUser.java
Java:
public class IaasUser {
@NotNull
@Size(min = 3, max = 10)
private String userId;
@NotNull
@Size(min = 5, max = 20)
private String userName;
@NotNull
private String gender;
private Boolean married;
private String profile;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Boolean getMarried() {
return married;
}
public void setMarried(Boolean married) {
this.married = married;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
}
Anhänge
Zuletzt bearbeitet:
(imports rausgenommen)