CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

关于struts validator的问题-客户端没有验证。多谢!

楼主cailongli()2005-06-03 17:50:18 在 Java / 框架、开源 提问

在使用validator框架时,当只有一个输入框需要验证日期的有效性时,客户端不验证就提交了,但是服务器端是可以验证的,请指教这是为什么?如何解决?在高版本的validator-rules中,没有看到javascript代码,是不是框架就不能进行客户端的验证了?以下是validation.xml中的内容,只有required在客户端得到了验证,其他的在客户端没有验证;  
  <form-validation>  
      <formset>  
          <form   name="checkoutForm">  
              <field   property="firstName"   depends="required,">  
                  <arg0   key="label.firstName"/>  
              </field>  
              <field   property="phone"   depends="required,">  
                  <arg0   key="label.phone"   />  
              </field>  
              <field   property="birthDate"   depends="required,date">  
                  <arg0   key="label.birthDate"/>  
              </field>  
              <field   property="age"   depends="required,integer">  
                  <arg0   key="label.age"/>  
              </field>  
              <field   property="email"   depends="required,email">  
                  <arg0   key="label.email"/>  
              </field>  
          </form>  
      </formset>  
  </form-validation>  
   
  非常感谢! 问题点数:80、回复次数:8Top

1 楼KFeng_bird()回复于 2005-06-03 18:11:43 得分 20

你看这个  
   
              <field   property="integer"   depends="required,integer,intRange">  
                  <arg   key="typeForm.integer.displayname"   />  
                  <arg   name="intRange"   key="${var:min}"   resource="false"   position="1"   />  
                  <arg   name="intRange"   key="${var:max}"   resource="false"   position="2"   />  
                  <var>  
                      <var-name>min</var-name>  
                      <var-value>10</var-value>  
                  </var>  
                  <var>  
                      <var-name>max</var-name>  
                      <var-value>20</var-value>  
                  </var>  
              </field>  
  Top

2 楼cailongli()回复于 2005-06-06 08:37:29 得分 0

还是一样的,客户端没有对integer和intRange验证,服务器端验证了。当只有一个字段要有integer的要求时,在javascript中存在错误,所以没有验证就提交了。Top

3 楼cailongli()回复于 2005-06-08 18:03:22 得分 0

怎么再没有人回答我了?Top

4 楼usherlight(xingtian)回复于 2005-06-08 18:54:31 得分 10

      <field   property="firstName"   depends="integer">  
                <arg0   key="label.firstName"/>  
                <arg1   key="label.mustBeInteger"/>  
        </field>  
  Top

5 楼cailongli()回复于 2005-06-09 16:01:14 得分 0

把date的验证去掉后,客户端的验证就正常了。但是为什么有了date的验证时,就不正常了呢?Top

6 楼usherlight(xingtian)回复于 2005-06-10 12:16:13 得分 50

<field   property="birthDate"  
  depends="date">  
  <arg0   key="userRegistration.birthDate"   />  
  <var>  
  <var-name>datePattern</var-name>  
  <var-value>MM-dd-yyyy</var-value>  
  </var>  
  </field>Top

7 楼cailongli()回复于 2005-06-10 14:47:38 得分 0

<field   property="birthDate"   depends="required,date">  
                  <arg0   key="label.birthDate"/>  
                  <var   >    
                      <var-name   >datePatternStrict</var-name   >    
                      <var-value   >yyyy-MM-dd</var-value   >    
                  </var   >  
  </field>  
  只有这样才可以了,不知道为什么不能用datePattern。用datePatternStrict必须把0写上才可以。  
   
  http://struts.apache.org/userGuide/dev_validator.html说:  
  date   -   validates   that   a   field   can   be   converted   to   a   Date.   This   validator   uses   java.text.SimpleDateFormat   to   parse   the   date   and   optionally   either   a   datePattern   or   datePatternStrict   variable   can   be   used.   If   no   pattern   is   specified   the   default   short   date   format   is   assumed.   The   difference   between   using   the   datePatternStrict   and   datePattern   variables   is   that   datePatternStrict   checks   additionally   that   the   input   data   is   the   same   length   as   the   pattern   specified   (so   for   example   1/1/2004   would   fail   with   a   pattern   of   MM/dd/yyyy).    
   
   
          <field   property="saledate"   depends="required,date">  
                  <arg0   key="myForm.saledate"/>  
                  <var><var-name>datePattern</var-name><var-value>MM/dd/yyyy</var-value></var>  
          </field>  
   
          <field   property="saledate"   depends="required,date">  
                  <arg0   key="sale.orderdate"/>  
                  <var><var-name>datePatternStrict</var-name><var-value>MM/dd/yyyy</var-value></var>  
          </field>  
   
  是不是我的validator的版本的问题呢?   我试了jakarta-struts-1.2.4-lib里的commons-validator.jar,结果也是一样的。Top

8 楼cailongli()回复于 2005-06-14 08:40:42 得分 0

没有人再回答我了?Top

相关问题

  • Struts Validator客户端验证问题?
  • struts 验证
  • Active Directory 的用户验证!!多谢!!!
  • struts验证问题
  • struts表单验证
  • 如何用struts的validator进行这样的验证?
  • 问一个很傻的问题,关于Struts用validator-rules.xml验证
  • 小问题:关于Struts使用validator framework验证的问题
  • struts validator中的date验证,在客户端不起作用
  • 高分求struts中validator有效性验证的具体步骤

关键词

  • 验证
  • 客户
  • struts
  • date
  • datepatternstrict
  • 客户端
  • datepattern
  • validator
  • yyyy
  • dd

得分解答快速导航

  • 帖主:cailongli
  • KFeng_bird
  • usherlight
  • usherlight

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo