Форма без ошибок не возвращает значения

У меня есть некоторые проблемы с получением значения из объекта формы.

  1. Я обрабатываю запрос GET. Это создает форму с предопределенными значениями:

    Form<ModelObject> form = form(ModelObject.class).fill(new ModelObject());
    return renderJapid(form);
    
  2. В шаблоне я определил параметр, который принимает Form<ModelObject> и это называется "форма". На странице есть только стандартные поля ввода html, такие как:

    <input type="text" id="fieldName" name="fieldName" value="$form.apply("fieldName").value()">
    
  3. После отправки этой формы я обрабатываю этот запрос POST другим методом:

    Form<ModelObject> form = form(ModelObject.class).bindFromRequest();
    if (form.hasErrors()) {
            //render the form again with errors
       } else {
         ModelObject mo = form.get(); // NO-VALUE ERROR
    }
    

    Каждый раз, когда я получаю ошибку без значения в отмеченной строке, где я хочу получить объект из формы. У вас есть идеи, где может быть проблема? (Отображаются предварительно заполненные данные, и даже объект формы после отправки имеет правильные данные, но не имеет значения)

1 ответ

Решение

В конце концов я решил свою проблему. Проблема была вызвана моим классом GenericModel (каждый класс модели происходит от этого класса), который имеет метод public boolean validate(), Когда я удалил этот метод, все работало нормально. Я знаю, что этот метод вызывается Play для моих собственных пользовательских проверок объекта, но я до сих пор не понимаю, почему это изменяет значение формы на None,

Другие вопросы по тегам