目前jQuery網(wǎng)站上已經(jīng)有了From的驗(yàn)證框架,F(xiàn)romValidation,但是一直覺得它的框架并不好用,因?yàn)橹貜?fù)寫的東西太多了。
于是就再次寫了自己的JavaScript驗(yàn)證框架,完全廢棄掉以前的。
在新的框架下,是以這樣子的用法設(shè)計(jì)的:
首先,要包括自己的js文件(這點(diǎn)不必說),而且在包括自己寫,要先包括jQuery的,如下
<link rel="stylesheet" type="text/css" href="<ww:url value="/layout/css/style.css"/>">
<link rel="stylesheet" type="text/css" href="<ww:url value="/layout/css/thickbox.css"/>" media="screen">
<script type="text/javascript" src="<ww:url value="/layout/js/jquery-latest.js"/>"></script>
<script type="text/javascript" src="<ww:url value="/layout/js/thickbox.js"/>"></script>
<script type="text/javascript" src="<ww:url value="/layout/js/wingel.js"/>"></script>
<decorator:head/>
然后在要驗(yàn)證的Form里面加個(gè)屬性validatable=true,如下:
<form id="registerForm" action="user-register.action" validatable="true">
注意,這邊不要加onsubmit方法
接下來,就好了,比如說有個(gè)輸入框:
<ww:textfield name="name" id="name"/>
我想驗(yàn)證,讓它必填,如下就可以了:
<label for="name" validate="required">請(qǐng)?zhí)顚懨Q</label> 其中 for屬性里面填的要是驗(yàn)證的輸入框id,validate填的是驗(yàn)證方法,;label里面的文本就是驗(yàn)證不過的時(shí)候要顯示的信息。
如果我想驗(yàn)證一個(gè)輸入框的輸入值長度怎么辦,這樣子就行了
<label for="password" validate="lengthRange:6;20">
后面的參數(shù)用;號(hào)隔開,驗(yàn)證的方法名跟參數(shù)用: 隔開。
wingel.js里面已經(jīng)包括了一些常用的驗(yàn)證方法,現(xiàn)在問題來了,如果要自定義驗(yàn)證方法怎么辦,如下辦:
比如你想加個(gè)驗(yàn)證方法是hello
則label里面的validate屬性寫成hello,
然后加一個(gè)JavaScript方法:
<script type="text/javascript">

wingel.validator.rules.hello= function(value, element, parameters,utility) ...{
... }
</script>
里面三個(gè)參數(shù),shit , couldn't input Chinese. now English will be used.
The first parameter is the value of the input element you want to validate,the second one is the validated element, the third one, is the parameters you add in validate label, the last one, is a utility class, you can invoke its method to make your code easier.

文章來源:
http://blog.csdn.net/Wingel/archive/2006/11/26/1414856.aspx