Java 编辑。如何在spring validate()方法中插入类型检查?

Java 编辑。如何在spring validate()方法中插入类型检查?,java,spring,Java,Spring,我有一张登记表。当我发布表单时,此错误未能将[java.lang.String]类型的属性值转换为属性号所需的[int]类型;嵌套异常是java.lang.NumberFormatException:对于输入字符串:“wewer”come。所以我正在寻找一种简单的方法来检查数据的类型。我曾尝试使用@模式(regexp=“[A-Za-z]”,message=“digits only”),但这不起作用。是否有要使用的单线批注 更新:感谢RC的想法。为数字创建一个字符串,然后稍后将其转换回。我认为我的

我有一张登记表。当我发布表单时,此错误
未能将[java.lang.String]类型的属性值转换为属性号所需的[int]类型;嵌套异常是java.lang.NumberFormatException:对于输入字符串:“wewer”
come。所以我正在寻找一种简单的方法来检查数据的类型。我曾尝试使用
@模式(regexp=“[A-Za-z]”,message=“digits only”)
,但这不起作用。是否有要使用的单线批注

更新:感谢RC的想法。为数字创建一个字符串,然后稍后将其转换回。我认为我的解决方案不好,因为我必须在用户类中添加一个条目,更改注册表表单中的字段

@Component
public class UserValidator implements Validator {

    @Override
    public boolean supports(Class clazz) {
      return User.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
      User user = (User) target;

      if(user.getUsername() == null || user.getUsername() == "") {
          errors.rejectValue("username", "","username is empty");
      }
    if(user.getNumberString().isDigit == false) {
        errors.rejectValue("number", "","digits only");
    } else {
        user.setNumber(Integer.parseInt(user.getNumberString());
    }

}
还有我的用户类

public class User {
    private int id;

    private String username;

    //@Pattern(regexp="[A-Za-z]" ,message = "No characters")
    //@NotNull
    @Min(3)
    private Integer number;
    private String numberString;

}

==带字符串???@RC抱歉,我忘了更新我的用户类,该数字是一个整数
User。getUsername()==”
不正确。使用
equals()
来比较字符串,而不是
=
。请参阅:使用带有
@Pattern
@Digits
的“number”字符串,并在使用时将其转换回整数?@RC感谢您的想法,我已经进行了一些更新。==带有字符串???@RC抱歉,我忘记更新我的用户类,该数字是一个整数
用户。getUsername()==“”
不正确。使用
equals()
来比较字符串,而不是
=
。请参阅:使用带有
@Pattern
@Digits
的“number”字符串,并在使用时将其转换回整数?@RC谢谢您的想法,我已经做了一些更新。