网站首页
J2EE技术
J2SE技术
JAVA框架
最新消息
JAVA与模式
数据库
讨论区
J2ME技术
相关栏目:
Struts
Hibernate
Ibatis
现在位置:
主页
>
JAVA框架
>
Spring
>
新闻正文
对非String类型进行校验时的出错处理
来源:JAVA天堂
JAVA学习者
2007-4-25 04:13:22
网友评论 0 条
字体:[
大
中
小
]
~我要投稿!
3.
在
validation.xml
文件中,定义你要校验的
formbean
(或者说是
command
)
,定义这个
bean
中有哪几个
field
需要验证,使用何种规则验证。(
注意:这里定义的
form name
必须和前面
controller
中定义的
commandName
保持一致
)以下是几种常用的验证示例:
<
form-validation
>
<
formset
>
<
form
name
=
"
userCommand "
> -----
①
<
field
property
=
"userId"
depends
=
"required"
> -----
②
<
arg0
key
=
"
用户代码
"
/>
-------
③
</
field
>
①
这里是定义要验证的
bean
的名字,要求去上面定义的
commandName
相同
②
这里定义要验证的
bean
属性为
userId
,
使用规则为
required
(
不为空
)
③
这里定义的是显示信息,
arg0
表示位置
0
的显示信息,显示
key
所标明的信息
(如果你还有多个信息就用
arg1
,
arg2
等)出错信息将会显示为:
用户代码不能为空
<
field
property
=
"age"
depends
=
"required,integer,mask"
>
-----
①
<
arg0
key
=
"
年龄
"
/>
<
msg
name
=
"mask"
key
=
"errors.negative"
/>
-----
②
<
var
>
<
var-name
>
mask
</
var-name
>
<
var-value
>
^[1-9]
</
var-value
>
-------
③
</
var
>
</
field
>
①
mask
标记验证,使用正则表达式来约束表单输入值。(如:只能输入数字,字母或指定的字符)
②
msg
标签用来定义验证规则和出错信息的关联,这里表示当出现
mask
校验失败时,显示
errors.negative
指明的信息。
③
整个
<var>
标签就是用来定义具体的规则的,如
<var-name>mask</var-name>
指明是用于
mask
的规则,
<var-value>^[1-9]</var-value>
表示只允许
1-9
这几个数字开头。
所以上面验证信息是年龄字段不可以为空,必须为整数,而且必须为
1-9
开头
也就杜绝了负数和零的情况。
<
field
property
=
"birthday"
depends
=
"required,date"
>
-----
①
<
arg0
key
=
"
生日
"
/>
<
var
>
<
var-name
>
datePatternStrict
</
var-name
>
-----
②
<
var-value
>
yyyy-MM-dd
</
var-value
>
-----
③
</
var
>
</
field
>
</
formset
>
①
使用“
date
”加入对日期的格式的校验
②
开始定义日期格式,
var-name
必须写为
datePatternStrict
③
定义你希望的日期格式如:
yyyy-mm-dd yy/mm/dd
等等都可以。
<
field
property
=
"startDate"
depends
=
"required,date"
>
<
arg0
key
=
"
开始日期
"
/>
<
var
>
<
var-name
>
datePatternStrict
</
var-name
>
<
var-value
>
yyyy-MM-dd
</
var-value
>
</
var
>
</
field
>
<
field
property
=
"endDate"
depends
=
"required,date,compareTwoField"
>
-----
①
<
arg0
key
=
"
结束日期
"
/>
<
arg1
key
=
"
开始日期
"
/>
-----
②
<
var
>
<
var-name
>
datePatternStrict
</
var-name
>
<
var-value
>
yyyy-MM-dd
</
var-value
>
</
var
>
<
var
>
<
var-name
>
secondField
</
var-name
>
-------
③
<
var-value
>
startDate
</
var-value
>
</
var
>
</
field
>
①
这里演示的是两个日期的验证,要达到开始日期不能晚于结束日期,加入
compareTwoField
验证规则
②
定义第
2
个显示参数
agr1
“开始日期”
③
加入一个
var
其
var-name
为
secondField
(这个是在程序中写死的,必须写为
secondField
)
④
var-value
定义为开始日期的属性名,如在本例中为
startDate
注:
compareTwoField
是我们自己编写的一个校验规则,用于比较两个字段值大小。
4.
在
jsp
页面中定义错误信息显示语句:
<
spring:bind
path
=
"tableCrashDO.*"
>
-----
①
<
c:if
test
=
"
${not empty status.errorMessages}
"
>
<
div
class
=
"error"
>
<
c:forEach
var
=
"error"
items
=
"
${status.errorMessages}
"
>
<
c:out
value
=
"
${error}
"
escapeXml
=
"false"
/><
br
/>
</
c:forEach
>
</
div
>
</
c:if
>
</
spring:bind
>
①
这里的
path
必须要与传入该
jsp
的
bean
的名字一样。如传入该
jsp
的数据
bean
叫
tableCrashDO
,
path
就应该写为
tableCrashDO.*
。
5
.使客户端产生
javascript
代码:
<
v:javascript
formName
=
"tableCrashDO"
-----
①
staticJavascript
=
"false"
xhtml
=
"true"
cdata
=
"false"
/>
<
script
type
=
"text/javascript"
src
=
"
<
c:url
value
=
"scripts/validator.jsp"
/>
"
></
script
>
①
v:javascript
标签是
spring
的标签,定义在
spring-commons-validator.tld
。
其中
formName
必须与
validation.xml
中
form
的
name
保持一致。
如此以来,基本上可以算完成了
validate
的验证配置。
(特别注意: controller 中的commandName; validation.xml中的form name; jsp中v:javascript标签的formName三者必须保持一致。)
收藏到ViVi
收藏此页到
365K
e
y
上一篇:
关于spring框架中的ioc的幽默解释
下一篇:
Spring MVC验证的配置步骤
用户名:
(
新注册
) 密码:
匿名评论 [
所有评论
]
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
本栏搜索
输入您的搜索字词
Web
javah.net
提交搜索表单
推荐新闻
·
找不到文件报错(java.io.Fi
·
ORM框架学习探讨
·
Hibernate 3.0的级联删除
·
Spring下的单元测试要点
·
Spring学习笔记
·
Hibernate出错 - could not
·
Spring学习时对一些概念的
·
代码自动生成功能在Hiberna
·
Spring开发入门问题集锦
·
Hibernate错误Could not ex
热门新闻
·
找不到文件报错(java.io.Fi
·
ORM框架学习探讨
·
Hibernate 3.0的级联删除
·
Spring下的单元测试要点
·
Spring学习笔记
·
Hibernate更新方式之间区别
·
在spring中使用Timer(2)
·
在spring中使用Timer
·
Hibernate出错 - could not
·
谁用java做过数字签名
相关新闻
·
Spring MVC验证的配置步骤
·
用代码学习Spring:IoC、AO
·
Spring技巧之简洁配置
·
Spring技巧之活用FactoryBe
·
spring+hibernate+jbpm整合
·
侵入,无侵入? Annotation
·
Jpetstore阅读心得之分层结
·
IoC/依赖注入、以及在Sprin
·
用Spring更好地处理Struts
·
Spring XML配置的12个技巧
网站首页
-
网站地图
-
技术学习
-
网站投稿
-
帮助中心
Copyright 2003-2008
www.javah.net
All Rights Reserved
2008 如果你喜欢本站 请收藏本站 并推荐给你的朋友一起分享