2011-12-22 11 views
3

PlayFrameworkとデータバインディングの検証を使用して、いくつかのフィールドのバインドを避けるために(おそらく)デコレータを介して可能でしょうか?例えばいくつかのフィールドのバインドを回避するにはどうすればよいですか?

、私はこのモデルがあります:

class User extends Model { 
    @Required 
    @Email 
    public String email; 

    // I'd like to avoid setting this 
    public String password; 
} 

を、私のモデルに:

Store store = new Store(); 
Binder.bindBean(params.getRootParamNode(), store, null);   
validation.valid(store); 

ユーザーPOSTのメールアドレスとパスワードは、パスワードも設定されますが、私はしないでくださいをしたい。

どうすればいいですか?

答えて

4

、あなたは@Transientアノテーションを使うことができ、あなたがデータを永続化する必要はありませんが、あなたはそれが自動バインディングの一部としてバインドしたい場合は...

class User extends Model { 
    @Required 
    @Email 
    public String email; 

    // I'd like to avoid setting this 
    @Transient 
    public String password; 
} 

あなたはそれがすべてで束縛されたくない場合は、NoBinding annotation

@play.data.binding.NoBinding 

を使用
public class User extends Model { 
    @NoBinding("profile") public boolean isAdmin; 
    @As("dd, MM yyyy") Date birthDate; 
    public String name; 
} 
関連する問題