Struts2 - 禁用转换错误

发布于 2024-11-08 21:01:01 字数 328 浏览 2 评论 0原文

我有一个 ssn 字段(在 Action 类中表示为 String),用户在其中输入以下格式的内容 123-23-2233。 Struts2 抛出错误。我不知道它在哪里配置为将其作为错误抛出。我该如何阻止这个?

我在 validate() 方法中有自己的验证,如下所示

if(StringUtility.isBlank(person.getSsn()) || !validateRegex(SSN_REGEX,person.getSsn().trim())){
   this.addFieldError("person.ssn","SSN is required");
}

I have a ssn field (represented as a String in Action class) in which the user enters something in the following format 123-23-2233. Struts2 throws an error. I dont know where it is configured for it to throw this as an error. How do I stop this?

I have my own validation in the validate() method, something like this

if(StringUtility.isBlank(person.getSsn()) || !validateRegex(SSN_REGEX,person.getSsn().trim())){
   this.addFieldError("person.ssn","SSN is required");
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱给你人给你 2024-11-15 21:01:01

在验证方法运行之前,转换错误将被添加到字段错误映射中。因此,一旦您进入验证方法,就有一种非常简单的方法可以删除它们。只需从地图中删除错误,然后再添加自己的错误即可。

下面的示例代码;

if(yourCondition){
   // Check whether this field has existing errors and remove them.
   List<String> existingErrors = getFieldErrors().get("person.ssn");
   if(existingErrors != null){
       existingErrors.clear();
   }       
   // Add your own error.
   addFieldError("person.ssn","SSN is required");
}

同样,如果您想清除所有字段上的默认错误消息,您可以清除整个字段错误映射。

我希望这有帮助。

The conversion errors will be added to the field errors map before your validate method even runs. As such there is a very simple way of removing them once you get to your validate method. Simply remove the error from the map before adding your own.

Example code below;

if(yourCondition){
   // Check whether this field has existing errors and remove them.
   List<String> existingErrors = getFieldErrors().get("person.ssn");
   if(existingErrors != null){
       existingErrors.clear();
   }       
   // Add your own error.
   addFieldError("person.ssn","SSN is required");
}

Similarly you could clear the entire field errors map if you wanted to clear the default error messages on all fields.

I hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文