如何避免绑定某些字段?

时间:2011-12-22 13:56:40

标签: validation binding playframework

使用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电子邮件和密码,密码也将被设置,但我不想。

我该怎么做?

1 个答案:

答案 0 :(得分: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;
}