小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在JSF中使用Shale進(jìn)行客戶端驗(yàn)證

 WindySky 2007-07-11
 JSF中默認(rèn)并沒有提供客戶端驗(yàn)證機(jī)制,這就需要使用其他的方法來驗(yàn)證,Shale已經(jīng)為我們做好了,通過封裝commonsValidator,實(shí)現(xiàn)了非常方便易用的客戶端驗(yàn)證。

     想必大家對(duì)Shale也有所耳聞,在JavaOne2005中的Web Framework的評(píng)比中,在Technical Features環(huán)節(jié)以4.95分的高分超越JSF, Tapestry, WebworkStruts奪得桂冠。(可參考:http://www./steelhand/archive/2005/07/05/7114.aspx

     當(dāng)然一個(gè)優(yōu)秀的框架可以為我們?nèi)プ龊芏啵?span lang=EN-US>Shale也一樣,它為我們提供了很多實(shí)用的特性:View ControllerDialog Manager,Dialog Manager,Validation,Remoting,Spring IntegrationReusable Views,Test Framework。我們這次就來用用看它的Validation。

     因?yàn)?span lang=EN-US>Shale到現(xiàn)在還沒有正式的release版本,我們可以通過它的Development Releasehttp://svn./dist/struts/shale/v1.0.0/)或者Nightly Buildhttp://cvs./builds/struts/nightly/struts-shale/)進(jìn)行,雖然沒有達(dá)到產(chǎn)品級(jí)的穩(wěn)定性,但是基本功能已經(jīng)基本上有了。

使用ShaleValidation非常簡(jiǎn)單,首先,我們得去下一個(gè)Commons Validator 1.2http://jakarta./site/downloads/downloads_commons-validator.cgi ),過去我們?cè)?span lang=EN-US>struts用也可以使用它來進(jìn)行方便的客戶端驗(yàn)證,同樣在JSF中也一樣,或許更簡(jiǎn)單。

     我們只需要通過簡(jiǎn)單的三步,即可完成一個(gè)完整的Validation。(當(dāng)然,所有的包要放在WEB-INF/lib下)

     首先,在<h:form>中加入這條屬性,onsubmit="return validateForm(this);"

     接下來,使用<s:commonsValidator>對(duì)頁(yè)面指定的元素如<h:inputText>進(jìn)行驗(yàn)證。

     最后,在<h:form>前加上<s:validatorScript>。

     這樣一個(gè)完整的Validation就配好了,是不是很簡(jiǎn)單呢?比struts中使用Validator還要方便,因?yàn)榕渲冒∈裁吹亩疾灰隽恕?span lang=EN-US>

     這樣頁(yè)面看起來就像這樣:

<%@ taglib uri="http://struts./shale/core" prefix="s" %>

<h:form onsubmit="return validateForm(this);">

    
<h:inputText id="creditCardNumber" 
                      size
="16"
                   value
="#{userContext.creditCardNumber}">

        
<s:commonsValidator type="required"
                                                 arg
="#{msgs.creditCardNumberPrompt}"
                                           server
="true"
                                            client
="true"/>

        
<s:commonsValidator type="mask"
                                             mask
="[4-6].*"
                                                 arg
="#{msgs.creditCardNumberPrompt}"
                                           server
="true"
                                            client
="true"/>

        
<s:commonsValidator type="creditCard" 
                                             arg
="#{msgs.creditCardNumberPrompt}" 
                                           server
="true">
    
</h:inputText> 

    
<h:message for="creditCardNumber" styleClass="errors"/> 

    
<s:validatorScript functionName="validateForm"/>
</h:form>


     <s:commonsValidator>中的type屬性對(duì)應(yīng)了commons Validator中的驗(yàn)證方法,具體可以參考commons Validator官方網(wǎng)站的相關(guān)文檔(http://jakarta./commons/validator/index.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多