Struts验证框架:验证摘要为空白

时间:2012-10-26 12:15:07

标签: java validation struts struts-validation

背景

我正在学习Struts 1.x,目前正在使用验证框架。

问题

我处于半工作状态。目前它显示验证错误,但在javascript警报..然后验证摘要(由<html:error>生成的东西)是空白的......好吧,它有3个要点,其中验证错误应该是,但没有文字。

  1. 我不希望它使用javascript警报。我只想要验证摘要。如果可能的话,我该如何关闭它呢?
  2. 为什么验证摘要缺少文字?
  3. 修改

    以下是一些代码,如果有帮助的话。

    的struts-config.xml

    <form-beans>
            <form-bean name="ProductActionForm" type="actionForms.ProductActionForm"/>
        </form-beans>
    

    的validation.xml

    <form name="ProductActionForm">
                <field property="name" depends="required">
                    <arg key="ProductActionForm.name"/>
                </field>
                <field property="price" depends="required,float">
                    <arg key="ProductActionForm.price"/>
                </field>
                <field property="quantityInStock" depends="integer,intRange">
                    <arg0 key="ProductActionForm.quantityInStock"/>
                    <arg1 name="intRange" key="${var:min}" resource="false"/>
                    <arg2 name="intRange" key="${var:max}" resource="false"/>
                    <var>
                        <var-name>min</var-name>
                        <var-value>0</var-value>
                    </var>
                    <var>
                        <var-name>max</var-name>
                        <var-value>9999</var-value>
                    </var>
                </field>
            </form>
    

    JSP HTML:

    <html:javascript formName="ProductActionForm" />
            <html:errors></html:errors>
            <html:form action="/AddProductAction" method="post" onsubmit="validateProductActionForm(this);">
                <table class="table table-striped">
                    <tbody>
                        <tr>
                            <td>Name: </td>
                            <td><html:text property="name" /></td>
                        </tr>
                        <tr>
                            <td>Price: </td>
                            <td><html:text property="price" /></td>
                        </tr>
                        <tr>
                            <td># In Stock </td>
                            <td><html:text property="quantityInStock" /></td>
                        </tr>
                        <tr>
                            <td></td>
                            <td><input type="submit" class="btn btn-primary" value="Submit" /></td>
                        </tr>
                    </tbody>
                </table>
            </html:form>
    

    编辑2

    以下是一些截图:

    显示javascript提醒: Showing javascript alert

    显示空白验证摘要: Showing blank validation summary

1 个答案:

答案 0 :(得分:1)

嗨Matt我们走了有两种类型的Struts1验证

<强> 1。使用ActionErrors验证在Bean本身中验证(显示摘要)

<强> 2。使用xml验证并在此处配置所有内容。(javascript警告)

对于你的情况,你使用了正确的第二种类型,但要单独获取摘要,请检查此链接,如果您在链接或其示例中遇到问题,请ping我。

This is the example