Skip to content

Commit 287f1f6

Browse files
Adding annotations for model validation
1 parent 4086cca commit 287f1f6

3 files changed

Lines changed: 29 additions & 1 deletion

File tree

src/main/java/org/launchcode/codingevents/models/Event.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package org.launchcode.codingevents.models;
22

3+
import jakarta.validation.constraints.Email;
4+
import jakarta.validation.constraints.NotBlank;
5+
import jakarta.validation.constraints.Size;
6+
37
import java.util.Objects;
48

59
/**
@@ -10,12 +14,20 @@ public class Event {
1014
private int id;
1115
private static int nextId = 1;
1216

17+
@NotBlank
18+
@Size(min = 3, max = 50, message = "Name must be between 3 and 50 characters")
1319
private String name;
20+
21+
@Size(max = 500, message = "Description too long!")
1422
private String description;
1523

16-
public Event(String name, String description) {
24+
@Email(message = "Invalid email. Try again.")
25+
private String contactEmail;
26+
27+
public Event(String name, String description, String contactEmail) {
1728
this.name = name;
1829
this.description = description;
30+
this.contactEmail = contactEmail;
1931
this.id = nextId;
2032
nextId++;
2133
}
@@ -24,6 +36,7 @@ public String getName() {
2436
return name;
2537
}
2638

39+
2740
public void setName(String name) {
2841
this.name = name;
2942
}
@@ -36,6 +49,14 @@ public void setDescription(String description) {
3649
this.description = description;
3750
}
3851

52+
public String getContactEmail() {
53+
return contactEmail;
54+
}
55+
56+
public void setContactEmail(String contactEmail) {
57+
this.contactEmail = contactEmail;
58+
}
59+
3960
public int getId() {
4061
return id;
4162
}

src/main/resources/templates/events/create.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
<input type="text" name="description" class="form-control">
1717
</label>
1818
</div>
19+
<div class="form-group">
20+
<label>Contact Email
21+
<input type="text" name="contactEmail" class="form-control">
22+
</label>
23+
</div>
1924
<div class="form-group">
2025
<input type="submit" value="Create" class="btn btn-success">
2126
</div>

src/main/resources/templates/events/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
<th>ID</th>
1212
<th>Name</th>
1313
<th>Description</th>
14+
<th>Contact Email</th>
1415
</tr>
1516
</thead>
1617
<tr th:each="event : ${events}">
1718
<td th:text="${event.id}"></td>
1819
<td th:text="${event.name}"></td>
1920
<td th:text="${event.description}"></td>
21+
<td th:text="${event.contactEmail}"></td>
2022
</tr>
2123
</table>
2224

0 commit comments

Comments
 (0)