【问题标题】:Struts2 client side validation without using action classStruts2客户端验证不使用动作类
【发布时间】:2014-02-04 09:00:52
【问题描述】:

只需要使用validation.xml 在struts2 中进行客户端验证,但我的bean 在bean 类中。 validation.xml 仅支持基于动作类的验证。

我需要客户端验证而不使用 javascript 或任何验证方法。

【问题讨论】:

  • 您必须使用 javascript 或 jquery 从客户端进行验证。 struts 验证仅基于动作类。
  • 如果我在 Action 类中使用带有 jpa 的 bean 会出现任何问题吗???
  • 最好将它与 bean 类一起使用以继续。
  • 在 struts2 中,通过使用 Action 类中的 validate() 方法或使用验证器 xml 进行验证。在这两种情况下,无论如何验证都是基于动作类的。
  • 您使用 javascript 或 jQuery 继续您的验证。

标签: validation struts2


【解决方案1】:

Struts Validator Framework 提供了一种易于使用的机制来执行客户端验证。

对于validation-rules.xml 文件中定义的每个验证例程,Struts 提供了一个可选的JavaScript 代码,该代码可以在客户端运行以执行与服务器端相同的验证。

LoginForm 扩展了 DynaValidatorForm

<form-bean name="LoginForm" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="userName" type="java.lang.String" />
    <form-property name="password" type="java.lang.String" />
</form-bean>

validation.xml 文件中定义了以下验证。

<form name="LoginForm">
    <field property="userName" depends="required">
        <arg key="LoginForm.userName"/>
    </field>
    <field property="password" depends="required,minlength">
        <arg0 key="LoginForm.password"/>
        <arg1 key="${var:minlength}" name="minlength" resource="false"/>
        <var>
            <var-name>minlength</var-name>
            <var-value>6</var-value>
        </var>
    </field>
</form>

要启用客户端验证,您必须将 Struts HTML 标记库的 javascript 标记放置在需要执行客户端验证的每个 jsp 页面中。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS Validation</title>
</head>
<body>
    <html:form action="/Login" onsubmit="validateLoginForm(this);">>
        <html:javascript formName="LoginForm" />
        User Name : <html:text name="LoginForm" property="userName" /> 

        Password  : <html:password name="LoginForm" property="password" /> 

        <html:submit value="Login" />
    </html:form>
</body>
</html>

【讨论】:

  • 嗨 Tijo,感谢您的回复,但我认为您是在说 struts1 .. 但我的问题是 struts2 中的 struts 之一,他们曾经有独立的表单 bean,但在 struts2 的情况下,他们没有提供使用 xml 进行这种独立的表单验证..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
相关资源
最近更新 更多