컨트롤러 내의 양식에서 필수 필드의 유효성을 검사하려면 어떻게해야합니까? 예를 들어, 내 엔티티 creation_date 필드가 있지만 뷰에서 폼 내에서이 필드를 넣지 않아야합니다. 필자는 컨트롤러에서 볼 수 있도록 설정해야합니다. 누구든지이 작업을 수행하는 방법에 대한 예가 있습니까?Play 2.1의보기 외부에서 필수 필드를 설정하는 방법
감사합니다.
수정 : 미안하지만, 나 자신을 분명히하지 않았습니다. 나는 엔티티에 @NotNull 주석이 달린 필드를 가지고 있으며 컨트롤러 (task.setCreationDate (new Date()))의 값을 채울 필요가 있습니다. 이 필드는 뷰 범위에서 유효성을 검사 할 필요가 없습니다. 예 :
public static Result newTask() {
Form<Task> form = taskForm.bindFromRequest();
if (form.hasErrors()) {
return badRequest("Error");
} else {
Task task = form.get();
task.setCreationDate(new Date());
taskDAO.save(task);
return redirect(routes.Application.tasks());
}
}
위 코드에서 양식은 유효성이 검사되지 않습니다 (hasErrors()를 반환합니다).
답장을 보내 주셔서 감사합니다.하지만 질문에 명확하지 않았습니다. 필드는 엔티티의 @NotNull이지만 양식의 필수 필드가 아니며 컨트롤러의 필드를 채 웁니다. 그러나 양식을 검색 할 때 유효하지 않습니다 (hasErrors()를 반환합니다). 나는 나의 질문을 편집하고 예를 든다. –
컨트롤러에서 항상 값을 설정하려면 필드에서'@ NotNull' 주석을 제거하면됩니다. – estmatic
답장을 보내 주셔서 감사합니다. –