2013-12-09 46 views
0

有人知道爲什麼我的表格不綁定的Java玩2.0的形式不具約束力

這裏是我有什麼

public class Account { 
    @Required 
     private String id = ""; 
    ... 
} 

一種形式,controlers.Application.java

static Form<Account> accountForm = Form.form(Account.class); 
with a method 
    public static Result addAccount() { 
     Form<Account> filledForm = accountForm.bindFromRequest(); 
     if (filledForm.hasErrors()) { 
    ... 
    ... 

和斯卡拉表格模板:

@form(action = routes.Application.addAccount()) { 
    @inputText(accountForm("id")) 
    <input type="submit" name="action" value="submit ID"/><br /> 
} 

哦和路線線定義爲:

GET /createAccount controllers.Application.addAccount() 

我打印接收到的數據和它得到的id值和動作提交。

我已經打印的所有驗證錯誤,它似乎是在它只是說error.required 不知道,因爲我打字的是地址線的ID字段:

/createAccount?id=1001&action=submit+ID 

但如果聲明hasErrors()總是結果爲真

請 - 有什麼明顯的我失蹤?

+0

請花1分鐘的時間,並用代碼重新格式化您的問題!它看起來好像沒有填充ID或發送回服務器,您的ID是否正確發回? – adis

+0

請重新格式化您的代碼,它不可讀。兩個測試要做:1 - 刪除所需的標籤。表單是否提交? 2-進入/ createAccount並手動填寫表格。然後提交。表單是否提交? – memainjm

+0

你的班級帳戶上有正確的java bean getter和setter嗎?這是需要的情況下,字段是私人的。 –

回答

0

當你的bean有私有字段時,你需要定義合適的java bean getter和setter(綁定是由SpringDataBinder完成的,它需要它)。