WebWork2 的 Validation

在WebWork2包的文档中有一段关于验证器的内容,并举出了一些例子,但这些例子可能无法满当前的要求,于是我在文档中找到这样一段内容:
[color=darkred]Please consult XWork's [b]validation framework documentation [/b]for complete details[/color]
这个地址连接到http://wiki.opensymphony.com/display/XW/Standard+Validators
,这里描述了一些复杂验证器的应用方法。其中我看到了以下内容:
(注:粗黑体字是要验证的表单控件名称)
-----------------------------------------------------------------------------

第一种方法:

[color=darkred]ExpressionValidator[/color]

This validator uses an OGNL expression to perform its validation. The error message will be added to the action if the expression returns false when it is evaluated against the value stack.
Parameter Required Default Notes
expression yes An OGNL expression that returns a boolean value.

Example:
<validator type="expression">
<param name="expression">[b]foo[/b] > [b]bar[/b]</param>
<message default="Foo must be greater than Bar. Foo = ${foo}, Bar = ${bar}."/>
</validator>
-------------------------------------------------------------------------------

第二种方法:

[color=darkred]FieldExpressionValidator[/color]

This validator uses an OGNL expression to perform its validation. The error message will be added to the field if the expression returns false when it is evaluated against the value stack.
Parameter Required Default Notes
expression yes An OGNL expression that returns a boolean value.

Example:
<validators>
<field name="[b]homepage[/b]">
<field-validator type="fieldexpression">
<param name="expression">[b]homepage[/b].indexOf('opensymphony.com') == -1</param>
<message>Please provide an OpenSymphony website</message>
</field-validator>
</field>
</validators>
-------------------------------------------------------------------------------
使用第二种验证方法可以将验证的内容写在所在的表单元素的field标签中,哈哈,这个很好,以后也方便改写。(第一种方法也行,但要分开写!看着不爽阿!)

这东东用的是OGNL语法写表达式的,可以看 http://www.ognl.org/ 参考它的写法。

以下的网址讨论了一些写表达式时常出现的问题:
http://wiki.opensymphony.com/display/XW/ExpressionValidator+Tips
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值