【问题标题】:JSON Accepting Blank or Whitespace for data type intJSON 接受数据类型 int 的空白或空白
【发布时间】:2020-04-28 09:12:32
【问题描述】:

您好,我目前正在为我的程序中的 java 验证进行编码,现在如果我在 json 中传递空白或空格,它会接受它并将值设为 0。有没有办法让它不会通过验证如果json 值是空白还是空格?

@Min(value = -1)
@Max(value = 9)
private int count;

【问题讨论】:

    标签: java json validation


    【解决方案1】:

    已编辑 尝试在验证中使用@NotBlank 或/和@NotNull。注释的名称说明了一切。

    如果不满足您的要求,@Digits 注释应该会有所帮助。

    `@Digits` documentation
    /**
     * The annotated element must be a number within accepted range.
     * <p>
     * Supported types are:
     * <ul>
     *     <li>{@code BigDecimal}</li>
     *     <li>{@code BigInteger}</li>
     *     <li>{@code CharSequence}</li>
     *     <li>{@code byte}, {@code short}, {@code int}, {@code long}, and their respective
     *     wrapper types</li>
     * </ul>
     * <p>
     * {@code null} elements are considered valid.
     *
     * @author Emmanuel Bernard
     */
    

    【讨论】:

    • @NotBlank 不能与 int 一起使用。而@NotNull 仍将接受空白和空格
    • 我相信@NotBlank可以使用。 /** * 被注释的元素不能是 {@code null} 并且必须包含至少一个 * 非空白字符。接受 {@code CharSequence}。 * * @author Hardy Ferentschik * @since 2.0 * * @see Character#isWhitespace(char) */ 这是它的文档
    • 除了它与字段的类型无关,因为它将涵盖所有字段,包括列表和不同的对象
    • 我编辑了答案以使用@Digits 它还可以节省您使用@Min @Max
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多