代码之家  ›  专栏  ›  技术社区  ›  jayjaypg22

Struts验证程序客户端,没有消息的AlertBox

  •  0
  • jayjaypg22  · 技术社区  · 14 年前

    我使用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之间的版本问题。 我在寻找这样的信息:“冠军的名义义务。”

    2 回复  |  直到 12 年前
        1
  •  0
  •   jayjaypg22    14 年前

    我加上取决于

        <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.
    

    尽管这个solutionino不是所有表单字段所需的通用。我没有在通用消息中添加字段名,而是在.properties中重复了“le champ”“est permantoire”

        2
  •  0
  •   jayjaypg22    14 年前

    最终答案:

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

    然后,我修改验证规则:

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

    而且效果很好!