【问题标题】:struts validator client side, alertbox without messagestruts验证器客户端,没有消息的alertbox
【发布时间】:2010-02-22 14:32:46
【问题描述】:

我使用 commons-validator v1.2 规范版本:1.0,而我的 struts 规范版本是:1.1。尽管除了警告框中的消息显示外一切正常。警告框显示案例是相关的。

以这个jsp字段为例:

<td class="RechBlocCiel">
    <input name="nom" type="text" class="inputForm" size="2" maxlength="50" />
</td>

我输入了validation.xml:

<field property="nom" depends="required">
 <msg name="required" key="error.nom" />
</field>

相关

<validator name="required"
 classname="org.apache.struts.validator.FieldChecks"
 method="validateRequired"
 methodParams="java.lang.Object,
   org.apache.commons.validator.ValidatorAction,
   org.apache.commons.validator.Field,
   org.apache.struts.action.ActionMessages,
   javax.servlet.http.HttpServletRequest"
 msg="errors.required" />

并且在 struts 配置中声明了插件:

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
 <set-property property="pathnames"
  value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
<message-resources
 parameter="xxx.resources.ApplicationResources" />

在 xxx.resources.ApplicationResources 我有属性文件:ApplicationResources.properties,其中包含:

errors.required   = <li> Le champ [{0}] est obligatoire.</li>
error.nom    = nom

在我看来一切都已完成,所以我不确定现在在哪里搜索,除了验证器和 struts 之间的版本问题。 我正在寻找消息:“Le champ nom est obligatoire。”

【问题讨论】:

    标签: java javascript jsp struts validation


    【解决方案1】:

    我将depends=""添加到

        <validator name="required"
     classname="org.apache.struts.validator.FieldChecks"
     method="validateRequired"
     methodParams="java.lang.Object,
       org.apache.commons.validator.ValidatorAction,
       org.apache.commons.validator.Field,
       org.apache.struts.action.ActionMessages,
       javax.servlet.http.HttpServletRequest"
     depends="" msg="errors.required" />
    

    然后 error.nom 消息出现在警告框中。我还没有完全解决这个问题,但至少它适用于

    error.nom = Le champ nom est obligatoire.
    

    虽然这个解决方案对于我所需的所有表单字段都不是通用的。我没有将字段名称添加到通用消息中,而是在我的 .properties 中添加了“Le champ”“est obligatoire”

    【讨论】:

      【解决方案2】:

      确定的答案:

      我需要使用 struts 标签:html:text 等来受益于这种机制。

      然后,我修改验证规则:

      <field property="nom" depends="required">
          <arg0 key="error.nom"/>
      </field>
      

      而且效果很好!

      【讨论】:

        猜你喜欢
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多