Struts 2验证错误

时间:2011-03-30 09:56:57

标签: java validation struts2

在尝试添加指定时我想验证指定名称不为空,我在xml文件中使用了以下代码Designation-validation.xml

<field name="desgName">
    <field-validator type="requiredstring">
        <message>Please enter designation name</message>
    </field-validator>
</field>

但它不起作用,它在我的数据库中添加一个空的指定名称。但它在我的控制台中显示以下行

2011年3月30日下午3:17:18 com.opensymphony.xwork2.util.logging.commons.CommonsLogger错误 严重:desgName的验证错误:请输入指定名称

任何人都可以提供帮助?提前谢谢......

2 个答案:

答案 0 :(得分:1)

根据日志,字段验证工作正常,因为您没有指定'trim'参数,默认情况下,字符串将在长度检查为零之前进行修剪,因此验证应该按照您的需要进行,似乎它在表单提交时被忽略了。

其他任何现场验证是否有效?这可能是由于配置问题。您是否在JSP中使用过<s:fielderror>

点击此处查看如何设置所有内容,以防错过任何内容 -

http://struts.apache.org/2.x/docs/validation.html

http://struts.apache.org/2.1.6/struts2-core/apidocs/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.html

答案 1 :(得分:1)

验证规则ActionName-validation.xml
应该是DesignationAction-validation.xml
或者,确保Action已扩展 ActionSupport ActionSupport的子类

// Action
public class DesignationAction extends ActionSupport{ 
  @Getter @Setter private String desgName;
}