默認(rèn)分類(lèi) 2009-09-29 20:08:54 閱讀804 評(píng)論4 字號(hào):大中小 訂閱
<validators>
<!--
<validator type="requiredstring" short-circuit="true">
<param name="fieldName">name</param>
<message>姓名不能為空!!</message>validator也能驗(yàn)證字段,用field本可以很好解決,加了一個(gè)validator反而使用容易產(chǎn)生迷惑,并且validator在驗(yàn)證的時(shí)候配置起來(lái)并沒(méi)有field那么清晰易懂,多出這個(gè)驗(yàn)證手段有點(diǎn)費(fèi)解。
</validator>
-->
<field name="name">
<!--
<field-validator type="required" short-circuit="true">
<message>姓名不能為null</message>
</field-validator>
-->有了requiredstring驗(yàn)證,這里的驗(yàn)證null的就不需要了。在什么情況下需要驗(yàn)證為null呢?又不需要驗(yàn)證為空呢?
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>姓名不能為空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">36</param>
<param name="trim">true</param>
<message>姓名的長(zhǎng)度在${minLength}和${maxLength}之間</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">18</param>
<param name="max">68</param>
<message>年齡請(qǐng)?jiān)?/span> ${min}和 ${max}之間</message>
</field-validator>
</field>
<field name="date">
<field-validator type="required" short-circuit="true">
<message>日期不能為空</message>
</field-validator>
<field-validator type="date">
<param name="min">2001-01-01</param>
<param name="max">2009-12-31</param>
<message>日期必須在${minLength}和${maxLength}之間</message>
</field-validator>
</field>
<field name="email">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>Email不能為空</message>
</field-validator>
<field-validator type="stringlength" short-circuit="true">
<param name="minLength">0</param>
<param name="maxLength">50</param>
<param name="trim">true</param>
<message>您輸入的email地址過(guò)長(zhǎng)了,最大長(zhǎng)度為${maxLength}</message>
</field-validator>
<field-validator type="email">
<message>Email格式不正確</message>
</field-validator>
</field>
<field name="psw">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>密碼還沒(méi)有填寫(xiě)</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">16</param>
<param name="trim">true</param>
<message>密碼長(zhǎng)度應(yīng)大于${minLength},小于${maxLength}</message>
</field-validator>
</field>
<field name="repsw">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>重復(fù)密碼還沒(méi)有填寫(xiě)</message>
</field-validator>
<field-validator type="fieldexpr
<param name="expr
<message>兩次輸入的密碼不相同</message>
</field-validator>
</field>
<!--
<validator type="expr
<param name="expr
<message>兩次輸入的密碼不相同</message>
</validator>
-->validator的非字段驗(yàn)證是首先要被驗(yàn)證框架執(zhí)行的,也就是說(shuō)要先于字段驗(yàn)證執(zhí)行。這里就要注意了哦,如果設(shè)置short-circuit="true",那結(jié)果會(huì)很難看,因?yàn)槭紫仁撬鼒?zhí)行,然后短路了,所以后面的驗(yàn)證都執(zhí)行不了了。如果使用這個(gè)驗(yàn)證器是驗(yàn)證密碼是否相同,錯(cuò)誤結(jié)果會(huì)在ActionError中顯示,這個(gè)是我們不希望看到的,所以這里使用fieldexpr
</validators>
聯(lián)系客服