|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。表单考证|计划
经由过程Struts1.2供应的validwhen考证器能够轻松的创立加倍庞大天真的表单考证。
好比说,我们要考证用户两次输出的暗码是不是不异,或是只要当用户填写表单项“姓氏”时,表单项“名字”才是必需的。
validwhen必要声明一个叫test的var字段,这个变量的值是一个布尔型的表达式,好比:
<var-name>test</var-name><var-value>((orderLines[].partNumber==null)or(*this*!=null))</var-value>
当布尔型表达式前往true时,考证才会乐成。下边是同意发进该表达式的一些元素:
单引号或双引号括起来的字符串十进制、十六进制或八进制暗示的整形字面量null暗示没有输出的空串可使用表单里的任何字段名字,如customerAge显式援用的索引字段,如childLastName[2]隐式援用的索引字段,如childLastName[],暗示利用与该字段不异的索引字面量*this*暗示以后被考证的表单
例:
下边这段代码暗示:只要当sendNewsletter字段为空,或该字段emailAddress不为空时,该字段才无效
<fieldproperty="emailAddress"depends="validwhen"><arg0key="userinfo.emailAddress.label"/><var><var-name>test</var-name><var-value>((sendNewsletter==null)or(*this*!=null))</var-value></var></field>下边这个例子暗示,只要响应的partNumber存在时,字段quantity才是必需的
下边这个例子暗示,只要响应的partNumber存在时,字段quantity才是必需的
<fieldproperty="quantity"indexedListProperty="orderLines"depends="validwhen"><arg0key="orderform.quantity.label"/><var><var-name>test</var-name><var-value>((orderLines[].partNumber==null)or(*this*!=null))</var-value></var></field>下边这个例子暗示,假如输出身高小于60英寸,则不克不及做nbaPointGuard
下边这个例子暗示,假如输出身高小于60英寸,则不克不及做nbaPointGuard
<fieldproperty="nbaPointGuard"depends="validwhen"><arg0key="careers.nbaPointGuard.label"/><var><var-name>test</var-name><var-value>((heightInInches>=60)or(*this*==null))</var-value></var></field>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 |
|