2012-06-25 51 views
1

我已經定義了一些錯誤消息,我的問題是,如何正確訪問它們?play 2.0如何從模型中訪問錯誤消息

型號:

@Entity 
public class Task extends Model { 

    @Constraints.Required(message="Start Date is required") 
    public Date start; 

} 

現在,如果你在我的控制器save()方法得到了驗證錯誤,你可以看到:

public class Tasks extends Controller { 

    public static Result save() { 
     Form<Task> filledForm = taskForm.bindFromRequest(); 
     if (filledForm.hasErrors()) { 
      return badRequest(
        create.render("create", filledForm) 
     } 
    } 

} 

,現在,我的看法:

@if(taskForm.hasErrors) { 
     <div class="alert alert-error"> 
      @taskForm.errors 
     </div> 
} 

我在屏幕上得到這樣的錯誤信息:

{name=[ValidationError(start, Start Date is required,[])]} 

那麼,我現在怎樣才能訪問「開始日期是必需的」 - 直接消息?我認爲「@ taskForm.erros」是一張地圖,但我不確定。

非常感謝。

乾杯,

馬科

回答

1

errors()方法確實返回一個Map,具體一個Map<String, List<ValidationError>>

要直接訪問消息,請使用方法error(String key)。所以在這種情況下使用@taskForm.get("start")