【问题标题】:Weird behaviour in Struts 2 validationStruts 2 验证中的奇怪行为
【发布时间】:2010-06-14 16:27:29
【问题描述】:

我有一个 Struts 2 应用程序,验证工作正常,它验证必要的字段并抛出足够的错误消息。问题出现在一个非常具体的位置,即字符编号 5838 !

在我的 validation.xml 文件中,我定义了许多字段,其中之一是

   <field name="idState">   
      <field-validator type="requiredstring">
        <param name="expression"><![CDATA[
           idNumber == null || idNumber.trim().length() == 0 
        || (idState != null && idState.trim().length() > 0)
          ]]></param>  
        <message>Please enter your State.</message> 
      </field-validator> 
   </field>

(请原谅我的代码格式!) 从技术上讲,我应该得到错误消息

"Please enter your State." 

有趣的是,我只是得到了

"Please enter yo". 

这发生在位置 5838(即错误消息被截断)。

现在如果我在标签中添加一个空格

"Please enter y". 

我注意到这只发生在位置 5838。在此之后和之前的所有消息都正确显示。

关于发生了什么的任何线索?

【问题讨论】:

  • 这个问题是否与错误消息有关,而不是与验证器有关? 5838是什么字符?

标签: java validation struts2


【解决方案1】:

对我来说,这似乎不是与此特定验证器相关的问题。听起来更像是解析整个validation.xml 文件的问题。也许错误消息只是因为它位于读取缓冲区的中间而被破坏。

类似的事情发生在我身上,它是一个非 UTF-8 文件中的 UTF-8 字符。 我的建议是检查整个文件是否存在解析问题,当然是在位置 5838 之后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    相关资源
    最近更新 更多