使用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电子邮件和密码,密码也将被设置,但我不想。
我该怎么做?
答案 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;
}