2013-05-17 2 views
0

В настоящее время я использую Play Framework, но, похоже, довольно мало информации о Формах.Play Framework и формы

В настоящее время у меня что-то, что выглядит следующим образом: Маршрут:

GET /test controllers.Application.testMethod() 

Метод:

public static Result testMethod(){ 
    //handles the Form 
} 

NameResidencePair класс:

public static class NameResidencePair{ 
    public String name; 
    public String residence; 
} 

Ла Скала .html с формой

@(aForm: Form[NameResidencePair]) 

@import helper._ 
@form(action = routes.Application.testMethod) { 

@inputText(
field = userForm("name") 
) 

@inputText(
field = userForm("residence") 
) 
} 

Что делать, если мне нужна форма, но одно из значений, таких как проживание, всегда одинаковое. Пример: проживание = «На облаке». Я все еще хочу передать его через форму, но я не хочу текстовое поле. Другими словами, я хочу передать форму с именем и местом жительства, но только имя должно быть редактируемым и видимым во входном поле.

ответ

2

Очевидное решение является скрытое поле формы:

<input type="hidden" name="residence" value="On a cloud"> 

There is no form template helper для создания скрытого поля, но вставить эту строку в ваш код не должен быть слишком много работы. :-)

Но, пожалуйста, не просто потому, что он скрыт, вы не можете предположить, что значение всегда будет «В облаке». Это означает, что «поле формы является скрытым», пользователь все равно может отправить произвольное значение. Поэтому, пожалуйста, по-прежнему проверяйте ввод пользователя.

Смежные вопросы