public class UniquenessValidator extends ValidatorAdapter {
private final String attribute;
public UniquenessValidator(String attribute) {
this.attribute = attribute;
setMessage("should be unique");
}
@Override
public void validate(Model m) {
if(!Model.where(attribute + " = ?", m.get(attribute)).isEmpty()) {
m.addValidator(this, attribute);
}
}
}
// field: username
public class User extends Model {
static {
validateWith(new UniquenessValidator("username"));
}
}
It works!. But, I was wondering if it is the optimal way to validate uniqueness. Especially the following line:
Thanks.