diff --git a/src/main/java/run/halo/app/model/params/UserParam.java b/src/main/java/run/halo/app/model/params/UserParam.java index 6ef09429c..af3a6e1df 100644 --- a/src/main/java/run/halo/app/model/params/UserParam.java +++ b/src/main/java/run/halo/app/model/params/UserParam.java @@ -21,27 +21,27 @@ import javax.validation.constraints.Size; @Data public class UserParam implements InputConverter { - @NotBlank(message = "用户名不能为空", groups = {AllCheck.class}) - @Size(max = 50, message = "用户名的字符长度不能超过 {max}", groups = {AllCheck.class}) + @NotBlank(message = "用户名不能为空", groups = {CreateCheck.class, UpdateCheck.class}) + @Size(max = 50, message = "用户名的字符长度不能超过 {max}", groups = {CreateCheck.class, UpdateCheck.class}) private String username; - @NotBlank(message = "用户昵称不能为空", groups = {AllCheck.class}) - @Size(max = 255, message = "用户昵称的字符长度不能超过 {max}", groups = {AllCheck.class}) + @NotBlank(message = "用户昵称不能为空", groups = {CreateCheck.class, UpdateCheck.class}) + @Size(max = 255, message = "用户昵称的字符长度不能超过 {max}", groups = {CreateCheck.class, UpdateCheck.class}) private String nickname; - @Email(message = "电子邮件地址的格式不正确", groups = {AllCheck.class}) - @NotBlank(message = "电子邮件地址不能为空", groups = {AllCheck.class}) - @Size(max = 127, message = "电子邮件的字符长度不能超过 {max}", groups = {AllCheck.class}) + @Email(message = "电子邮件地址的格式不正确", groups = {CreateCheck.class, UpdateCheck.class}) + @NotBlank(message = "电子邮件地址不能为空", groups = {CreateCheck.class, UpdateCheck.class}) + @Size(max = 127, message = "电子邮件的字符长度不能超过 {max}", groups = {CreateCheck.class, UpdateCheck.class}) private String email; @Null(groups = UpdateCheck.class) @Size(min = 8, max = 100, message = "密码的字符长度必须在 {min} - {max} 之间", groups = {CreateCheck.class}) private String password; - @Size(max = 1023, message = "头像链接地址的字符长度不能超过 {max}", groups = {AllCheck.class}) + @Size(max = 1023, message = "头像链接地址的字符长度不能超过 {max}", groups = {CreateCheck.class, UpdateCheck.class}) private String avatar; - @Size(max = 1023, message = "用户描述的字符长度不能超过 {max}", groups = {AllCheck.class}) + @Size(max = 1023, message = "用户描述的字符长度不能超过 {max}", groups = {CreateCheck.class, UpdateCheck.class}) private String description; } diff --git a/src/test/java/run/halo/app/model/params/InstallParamTest.java b/src/test/java/run/halo/app/model/params/InstallParamTest.java new file mode 100644 index 000000000..669d48b71 --- /dev/null +++ b/src/test/java/run/halo/app/model/params/InstallParamTest.java @@ -0,0 +1,53 @@ +package run.halo.app.model.params; + +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import run.halo.app.model.support.AllCheck; +import run.halo.app.model.support.CreateCheck; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; +import java.util.Set; + +import static org.hamcrest.Matchers.equalTo; +import static org.junit.Assert.assertThat; + +/** + * @author johnniang + * @date 19-6-1 + */ +@Slf4j +public class InstallParamTest { + + private final Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); + + @Test + public void createCheckTest() { + InstallParam installParam = new InstallParam(); + + Set> constraintViolations = validator.validate(installParam, CreateCheck.class); + assertThat(constraintViolations.size(), equalTo(4)); + printMessage(constraintViolations); + + installParam.setEmail("test"); + constraintViolations = validator.validate(installParam, CreateCheck.class); + assertThat(constraintViolations.size(), equalTo(4)); + printMessage(constraintViolations); + + installParam.setEmail("test@test.com"); + constraintViolations = validator.validate(installParam, CreateCheck.class); + assertThat(constraintViolations.size(), equalTo(3)); + printMessage(constraintViolations); + } + + private void printMessage(Set> constraintViolations) { + if (constraintViolations == null) { + return; + } + + log.debug(""); + + constraintViolations.forEach(constraintViolation -> log.debug(constraintViolation.getMessage())); + } +} \ No newline at end of file