2015-09-21 36 views
2

我使用Project Lombok为String字段生成getter/setter。该字段(例如密码)具有验证注释。在龙目岛添加修剪方法

@Size(min = 6,max = 100, message = "The password must be between 6 and 100 characters") 
private String password; 

我想在setter中添加trim方法来不计算长度的空白。

public void setPassword(String password) { 
    this.password = password.trim(); 
} 

如何在Lombok setter中添加修剪方法?或者我必须写定制二传手?

回答

2

在这种情况下,你将不得不写一个自定义setter。如果您使用的是Immutable等价物(Wither),则可以将trim()放入构造函数中,并将@Wither添加到该方法中,这也适用于通过@Builder生成的构建程序。这是一种更安全的方法,确保密码始终被修剪。

@Wither 
    @Size(min = 6,max = 100, message = "The password must be between 6 and 100 characters") 
    private final String password; //guaranteed to be trimmed 


    public MyClass(final String password){ 
    this.password= password.trim(); 
    }