Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,25 @@
import org.launchcode.spaday.models.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@Controller
@RequestMapping("user")
public class UserController {

@GetMapping("/add")
public String displayAddUserForm() {
public String displayAddUserForm(Model model) {
model.addAttribute(new User());
return "user/add";
}

@PostMapping
public String processAddUserForm(Model model, @ModelAttribute User user, String verify) {
model.addAttribute("user", user);
model.addAttribute("verify", verify);
model.addAttribute("username", user.getUsername());
model.addAttribute("email", user.getEmail());
if (user.getPassword().equals(verify)) {
public String processAddUserForm(Model model, @ModelAttribute @Valid User user, Errors errors, String verify) {

if (user.getPassword().equals(verify) && !errors.hasErrors()) {
return "user/index";
}
else {
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/org/launchcode/spaday/models/User.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
package org.launchcode.spaday.models;


import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

public class User {
@NotBlank(message = "name is required!")
@Size(min=5, max = 15, message = "")
private String username;

@Email(message = "Invalid email. try again.")
private String email;

@NotBlank(message = "please enter a password.")
@Size(max=6, message = "password must be 6 characters long")
private String password;

public User() {
Expand Down
11 changes: 7 additions & 4 deletions src/main/resources/templates/user/add.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,28 @@
<form method = 'post' th:action="@{/user}">
<label>
Username:
<input type = 'text' name = 'username' th:value="${username}">
<input type = 'text' name = 'username' th:value="${user.username}">
</label>
<p class="error" th:errors="${user.username}"></p>

<label>
Email:
<input type = 'email' name = 'email' th:value="${email}">
<input name = 'email' th:value="${user.email}">
</label>
<p class="error" th:errors="${user.email}"></p>

<label>
Password:
<input type = 'password' name = 'password'>
<input type = 'password' name = 'password' th:value="${user.password}">
</label>
<p class="error" th:errors="${user.password}"></p>

<label>
Verify Password:
<input type = 'password' name = 'verify'>
</label>

<p th:text="${error}"></p>
<p th:text="${errors}"></p>

<input type = 'submit' value = 'Sign Up'>
</form>
Expand Down