gpt4 book ai didi

java - 在 Play Framework 中发送到 Controller 之前修剪参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:58:58 25 4
gpt4 key购买 nike

在我的网络应用程序中,我需要获取用户输入的数字并在 Controller 中处理它。我需要确保该数字的长度至少为 14 位数字。如果用户输入 12 位数字然后按“空格” ' 两次,验证应该捕获它。

我是这样写的

public static void processNumber(@Required @MinSize(value=14,message="min size is 14") String inputNumber){
if(validation.hasErrors()) {
params.flash();
validation.keep();
...
}

但是,这并没有像我预期的那样工作。看起来,我需要在输入到达 Controller 方法之前对其进行修整。

有人可以建议怎么做吗?

附注:将输入更复杂的情况,例如

'11 2233444444''1122334ad44444' 等,是否有任何验证以确保输入是数字并且不包含任何字母字符?

最佳答案

我认为自定义 Binder 不会为您提供所需的内容,因为您不是要修改数据的绑定(bind)方式,而是要验证其中的内容。因此,我认为您正在寻找的是自定义 validator 。

查看此处了解更多信息 - http://www.playframework.org/documentation/1.2/validation#custom

但实际上,您可以只使用 @CheckWith 注释来指定要使用的 validator ,然后在您的 validator 中,您可以检查您的修剪字符串,不包含空格,不包含字母字符等。

请注意, validator 不会修改您的输入,因此如果您想忽略修剪后的数据,那么它将继续保留在您的数据中,因此您可以在验证后修改(修剪)它,或者您可以如其他答案中所述,使用自定义 Binder 来完成。

关于java - 在 Play Framework 中发送到 Controller 之前修剪参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com