您可以编写自定义批注来验证可分页
对象
@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。