当前位置: 首页 > 知识库问答 >
问题:

如何验证可分页的大小?

澹台昆
2023-03-14

共有1个答案

郭浩穰
2023-03-14

您可以编写自定义批注来验证可分页对象

@Constraint(validatedBy = PageableValidator.class)
@Target( { ElementType.METHOD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface PageableConstraint {
    String message() default "Invalid pagination";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};

    int maxPerPage() default 100;;
}

及其实施

public class PageableValidator implements
        ConstraintValidator<PageableConstraint, Pageable> {

    private int maxPerPage;

    @Override
    public void initialize(PageableConstraint constraintAnnotation) {
        maxPerPage=constraintAnnotation.maxPerPage();
    }

    @Override
    public boolean isValid(Pageable value, ConstraintValidatorContext context) {
        return value.getPageSize()<=maxPerPage;
    }
}

您可以像其他javax验证注释一样在控制器上使用它。

@RestController
@RequestMapping("/api")
@Validated
public class EmployeeRestController {

    @Autowired
    private EmployeeService employeeService;

    @GetMapping("/employees")
    public List<Employee> getAllEmployees(@PageableConstraint(message = "Invalid page size",maxPerPage = 400) Pageable pageable) {
        return employeeService.getAllEmployees();
    }
}
 类似资料:
  • 问题内容: 我想检查内部网页,所以我不能直接使用W3C验证服务。我设法在本地运行XHTML验证器,但是css- validator出现了一些问题。我并不是真的想要设置Tomcat或Jigsaw以便能够运行Java servlet,并且命令行选项给了我一条错误消息 如何在Linux机器上验证本地CSS? 问题答案: 您可以从命令行调用W3C验证器: 命令行使用 任何装有Java的计算机也可以从终端/

  • 我需要更改特定映射的最大页面大小,但我所知道的唯一方法是更改属性文件的。 但我只需要针对特定的endpoint更改它,而不影响其他endpoint。

  • 我想验证属性firstName和lastName。但我不想每次都重复注释。 如何创建自定义注释,使代码如下所示 验证也是一样的

  • 一般格式为: 只有分隔符是必需的 以下是有效字符串: 我真的很难想出一个正则表达式来验证可选部分,同时保持整个字符串的完整性。 你怎么写这个正则表达式? PS:这需要是一个正则表达式,因为它将是不接受任何其他内容的第三方lexer的一部分。 相关岗位: 正则表达式验证带有可选小数部分的逗号分隔数字 与有效日期输入的每个阶段匹配的日期的正则表达式

  • 我发现在我的应用程序中,使用spring security的安全性在登录时不会检查我的用户名的大小写。 我有这个代码: 我不知道为什么当我对用户名使用不同的特殊情况时,spring的身份验证允许所有情况。有人能帮我吗? 谢啦

  • 问题内容: 如何验证文本字段以仅在Swing中的小数点后输入4位数字? 问题答案: 可以使用进行Swing中的任何验证。 1.首先创建自己的输入验证器: 2.然后将该类的实例分配给您的文本字段。(实际上任何都可以验证) 当然,您也可以使用匿名内部类,但是如果将验证器也用于其他组件,则普通类会更好。 还可以查看SDK文档:JComponent#setInputVerifier。