Administrator
2022-09-14 58d006e05dcf2a20d0ec5367dd03d66a61db6849
提交 | 用户 | 时间
58d006 1 <!DOCTYPE html>
A 2 <html id="html">
3 <head>
4     <title>jQuery - Validation Test Suite</title>
5     <link rel="stylesheet" href="qunit/qunit.css" />
6     <script src="jquery.js"></script>
7     <script src="../lib/jquery.form.js"></script>
8     <script src="qunit/qunit.js"></script>
9     <script src="../lib/jquery.mockjax.js"></script>
10     <script src="../jquery.validate.js"></script>
11     <script src="../additional-methods.js"></script>
12     <script src="test.js"></script>
13     <script src="rules.js"></script>
14     <script src="messages.js"></script>
15     <script src="methods.js"></script>
16 </head>
17 <body id="body">
18     <h1 id="qunit-header">
19         <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validation Plugin</a> Test Suite
20         <a href="?jquery=1.6.4">jQuery 1.6.4</a>
21         <a href="?jquery=1.7.2">jQuery 1.7.2</a>
22         <a href="?jquery=1.8.3">jQuery 1.8.3</a>
23         <a href="?jquery=1.9.0">jQuery 1.9.0</a>
24         <a href="?jquery=git">jQuery Latest (git)</a>
25         </h1>
26     <div>
27     </div>
28     <h2 id="qunit-banner"></h2>
29     <div id="qunit-testrunner-toolbar"></div>
30     <h2 id="qunit-userAgent"></h2>
31     <ol id="qunit-tests"></ol>
32
33     <!-- Test HTML -->
34     <div id="other" style="display:none;">
35         <input type="password" name="pw1" id="pw1" value="engfeh" />
36         <input type="password" name="pw2" id="pw2" value="" />
37     </div>
38     <div id="qunit-fixture">
39         <p id="firstp">See <a id="simon1" href="http://simon.incutio.com/archive/2003/03/25/#getElementsBySelector" rel="bookmark">this blog entry</a> for more information.</p>
40         <p id="ap">
41             Here are some links in a normal paragraph: <a id="google" href="http://www.google.com/" title="Google!">Google</a>,
42             <a id="groups" href="http://groups.google.com/">Google Groups</a>.
43             This link has <code><a href="#" id="anchor1">class="blog"</a></code>:
44             <a href="http://diveintomark.org/" class="blog" hreflang="en" id="mark">diveintomark</a>
45
46         </p>
47         <div id="foo">
48             <p id="sndp">Everything inside the red border is inside a div with <code>id="foo"</code>.</p>
49             <p lang="en" id="en">This is a normal link: <a id="yahoo" href="http://www.yahoo.com/" class="blogTest">Yahoo</a></p>
50             <p id="sap">This link has <code><a href="#2" id="anchor2">class="blog"</a></code>: <a href="http://simon.incutio.com/" class="blog link" id="simon">Simon Willison's Weblog</a></p>
51
52         </div>
53         <p id="first">Try them out:</p>
54         <ul id="firstUL"></ul>
55         <ol id="empty"></ol>
56
57         <form id="testForm1">
58             <input type="text" data-rule-required="true" data-rule-minlength="2" title="buga" name="firstname" id="firstname" />
59             <label id="errorFirstname" for="firstname" class="error">error for firstname</label>
60             <input type="text" data-rule-required="true" title="buga" name="lastname" id="lastname" />
61             <input type="text" data-rule-required="true" title="something" name="something" id="something" value="something" />
62         </form>
63
64         <form id="testForm1clean">
65             <input title="buga" name="firstname" id="firstnamec" />
66             <label id="errorFirstname" for="firstname" class="error">error for firstname</label>
67             <input title="buga" name="lastname" id="lastnamec" />
68             <input name="username" id="usernamec" />
69         </form>
70
71         <form id="userForm">
72             <input type="text" data-rule-required="true" name="username" id="username" />
73             <input type="submit" name="submitButton" value="submitButtonValue" />
74         </form>
75
76         <form id="signupForm" action="form.php">
77             <input id="user" name="user" title="Please enter your username (at least 3 characters)" data-rule-required="true" data-rule-minlength="3" />
78             <input type="password" name="password" id="password" data-rule-required="true" data-rule-minlength="5" />
79         </form>
80
81         <form id="testForm2">
82             <input data-rule-required="true" type="radio" name="agree" id="agb" />
83             <label for="agree" id="agreeLabel" class="xerror">error for agb</label>
84         </form>
85
86         <form id="testForm3">
87             <select data-rule-required="true" name="meal" id="meal" >
88                 <option value="">Please select...</option>
89                 <option value="1">Food</option>
90                 <option value="2">Milk</option>
91             </select>
92         </form>
93         <div class="error" id="errorContainer">
94             <ul>
95                 <li class="error" id="errorWrapper">
96                     <label for="meal" id="mealLabel" class="error">error for meal</label>
97                 </li>
98             </ul>
99         </div>
100
101         <form id="testForm4">
102             <input data-rule-foo="true" name="f1" id="f1" />
103             <input data-rule-bar="true" name="f2" id="f2" />
104         </form>
105
106         <form id="testForm5">
107             <input data-rule-equalto="#x2" value="x" name="x1" id="x1" />
108             <input data-rule-equalto="#x1" value="y" name="x2" id="x2" />
109         </form>
110
111         <form id="testForm6">
112             <input data-rule-required="true" data-rule-minlength="2" type="checkbox" name="check" id="form6check1" />
113             <input type="checkbox" name="check" id="form6check2" />
114         </form>
115
116         <form id="testForm7">
117             <select data-rule-required="true" data-rule-minlength="2" name="selectf7" id="selectf7" multiple="multiple">
118                 <option id="optionxa" value="0">0</option>
119                 <option id="optionxb" value="1">1</option>
120                 <option id="optionxc" value="2">2</option>
121                 <option id="optionxd" value="3">3</option>
122             </select>
123         </form>
124
125         <form id="dateRangeForm">
126             <input id="fromDate" name="fromDate" class="requiredDateRange" value="x" />
127             <input id="toDate" name="toDate" class="requiredDateRange" value="y" />
128             <span class="errorContainer"></span>
129         </form>
130
131         <form id="testForm8">
132             <input id="form8input" data-rule-required="true" data-rule-number="true" data-rule-rangelength="2,8" name="abc" />
133             <input type="radio" name="radio1"/>
134         </form>
135
136         <form id="testForm9">
137             <input id="testEmail9" data-rule-required="true" data-rule-email="true" data-msg-required="required" data-msg-email="email" />
138         </form>
139
140         <form id="testForm10">
141             <input type="radio" name="testForm10Radio" value="1" id="testForm10Radio1" />
142             <input type="radio" name="testForm10Radio" value="2" id="testForm10Radio2" />
143         </form>
144
145         <form id="testForm11">
146             <!-- HTML5 -->
147             <input required type="text" name="testForm11Text" id="testForm11text1" />
148         </form>
149
150         <form id="testForm12">
151             <!-- empty "type" attribute -->
152             <input name="testForm12text" id="testForm12text" data-rule-required="true" />
153         </form>
154
155         <form id="dataMessages">
156             <input name="dataMessagesName" id="dataMessagesName" class="required" data-msg-required="You must enter a value here" />
157         </form>
158
159         <div id="simplecontainer">
160             <h3></h3>
161         </div>
162
163         <div id="container" style="min-height:1px"></div>
164
165         <ol id="labelcontainer"></ol>
166
167         <form id="elementsOrder">
168             <select class="required" name="order1" id="order1"><option value="">none</option></select>
169             <input class="required" name="order2" id="order2"/>
170             <input class="required" name="order3" type="checkbox" id="order3"/>
171             <input class="required" name="order4" id="order4"/>
172             <input class="required" name="order5" type="radio" id="order5"/>
173             <input class="required" name="order6" id="order6"/>
174             <ul id="orderContainer">
175             </ul>
176         </form>
177
178         <form id="form" action="formaction">
179             <input type="text" name="action" value="Test" id="text1"/>
180             <input type="text" name="text2" value="   " id="text1b"/>
181             <input type="text" name="text2" value="T " id="text1c"/>
182             <input type="text" name="text2" value="T" id="text2"/>
183             <input type="text" name="text2" value="TestTestTest" id="text3"/>
184
185             <input type="text" name="action" value="0" id="value1"/>
186             <input type="text" name="text2" value="10" id="value2"/>
187             <input type="text" name="text2" value="1000" id="value3"/>
188
189             <input type="radio" name="radio1" id="radio1"/>
190             <input type="radio" name="radio1" id="radio1a"/>
191             <input type="radio" name="radio2" id="radio2" checked="checked"/>
192             <input type="radio" name="radio" id="radio3"/>
193             <input type="radio" name="radio" id="radio4" checked="checked"/>
194
195             <input type="checkbox" name="check" id="check1" checked="checked"/>
196             <input type="checkbox" name="check" id="check1b" />
197
198             <input type="checkbox" name="check2" id="check2"/>
199
200             <input type="checkbox" name="check3" id="check3" checked="checked"/>
201             <input type="checkbox" name="check3" checked="checked"/>
202             <input type="checkbox" name="check3" checked="checked"/>
203             <input type="checkbox" name="check3" checked="checked"/>
204             <input type="checkbox" name="check3" checked="checked"/>
205
206             <input type="hidden" name="hidden" id="hidden1"/>
207             <input type="text" style="display:none;" name="foo[bar]" id="hidden2"/>
208
209             <input type="text" readonly="readonly" id="name" name="name" value="name" />
210
211             <button name="button">Button</button>
212
213             <textarea id="area1" name="area1">foobar</textarea>
214
215
216             <textarea id="area2" name="area2"></textarea>
217
218             <select name="select1" id="select1">
219                 <option id="option1a" value="">Nothing</option>
220                 <option id="option1b" value="1">1</option>
221                 <option id="option1c" value="2">2</option>
222                 <option id="option1d" value="3">3</option>
223             </select>
224             <select name="select2" id="select2">
225                 <option id="option2a" value="">Nothing</option>
226                 <option id="option2b" value="1">1</option>
227                 <option id="option2c" value="2">2</option>
228                 <option id="option2d" selected="selected" value="3">3</option>
229             </select>
230             <select name="select3" id="select3" multiple="multiple">
231                 <option id="option3a" value="">Nothing</option>
232                 <option id="option3b" selected="selected" value="1">1</option>
233                 <option id="option3c" selected="selected" value="2">2</option>
234                 <option id="option3d" value="3">3</option>
235             </select>
236             <select name="select4" id="select4" multiple="multiple">
237                 <option id="option4a" selected="selected" value="1">1</option>
238                 <option id="option4b" selected="selected" value="2">2</option>
239                 <option id="option4c" selected="selected" value="3">3</option>
240                 <option id="option4d" selected="selected" value="4">4</option>
241                 <option id="option4e" selected="selected" value="5">5</option>
242             </select>
243             <select name="select5" id="select5" multiple="multiple">
244                 <option id="option5a" value="0">0</option>
245                 <option id="option5b" value="1">1</option>
246                 <option id="option5c" value="2">2</option>
247                 <option id="option5d" value="3">3</option>
248             </select>
249         </form>
250
251         <form id="v2">
252             <input id="v2-i1" name="v2-i1" class="required" />
253             <input id="v2-i2" name="v2-i2" class="required email" />
254             <input id="v2-i3" name="v2-i3" class="url" />
255             <input id="v2-i4" name="v2-i4" class="required" minlength="2" />
256             <input id="v2-i5" name="v2-i5" class="required" minlength="2" maxlength="5" customMethod1="123" />
257             <input id="v2-i6" name="v2-i6" class="required customMethod2" data-rule-maxlength="5" data-rule-minlength="2" />
258             <input id="v2-i7" name="v2-i7" />
259         </form>
260
261         <form id="checkables">
262             <input type="checkbox" id="checkable1" name="checkablesgroup" class="required" />
263             <input type="checkbox" id="checkable2" name="checkablesgroup" />
264             <input type="checkbox" id="checkable3" name="checkablesgroup" />
265         </form>
266
267         <form id="subformRequired">
268             <div class="billingAddressControl">
269                 <input type="checkbox" id="bill_to_co" name="bill_to_co" class="toggleCheck" checked="checked" style="width: auto;" tabindex="1" />
270                 <label for="bill_to_co" style="cursor:pointer">Same as Company Address</label>
271               </div>
272             <div id="subform">
273                 <input  maxlength="40" class="billingRequired" name="bill_first_name" size="20" type="text" tabindex="2" value="" />
274             </div>
275             <input id="co_name" class="required" maxlength="40" name="co_name" size="20" type="text" tabindex="1" value="" />
276         </form>
277
278         <form id="withTitle">
279             <input class="required" name="hastitle" type="text" title="fromtitle" />
280         </form>
281
282         <form id="ccform" method="get" action="">
283             <input id="cardnumber" name="cardnumber" />
284         </form>
285
286         <form id="productInfo">
287             <input class="productInfo" name="partnumber">
288             <input class="productInfo" name="description">
289             <input class="productInfo" name="color">
290             <input class="productInfo" type="checkbox" name="discount" />
291         </form>
292
293         <form id="updateLabel">
294             <input class="required" name="updateLabelInput" id="updateLabelInput" data-msg-required="You must enter a value here" />
295             <label id="targetLabel" class="error" for="updateLabelInput">Some server-side error</label>
296         </form>
297
298         <form id="rangesMinDateInvalid">
299             <input type="date" id="minDateInvalid" name="minDateInvalid" min="2012-12-21" value="2012-11-21"/>
300         </form>
301         <form id="ranges">
302             <input type="date" id="maxDateInvalid" ngame="maxDateInvalid" max="2012-12-21" value="2013-01-21"/>
303             <input type="date" id="rangeDateInvalidGreater" name="rangeDateInvalidGreater" min="2012-11-21" max="2013-01-21" value="2013-02-21"/>
304             <input type="date" id="rangeDateInvalidLess" name="rangeDateInvalidLess" min="2012-11-21" max="2013-01-21" value="2012-10-21"/>
305
306             <input type="date" id="maxDateValid" name="maxDateValid" max="2013-01-21" value="2012-12-21"/>
307             <input type="date" id="rangeDateValid" name="rangeDateValid" min="2012-11-21" max="2013-01-21" value="2012-12-21"/>
308
309             <!-- input type text is not supposed to have min/max according to html5,
310                  but for backward compatibility with 1.10.0 we treat it as number.
311                  you can also use type="number", in which case the browser may also
312                  do validation, and mobile browsers may offer a numeric keypad to edit 
313                  the value.
314                  Type absent is treated like type="text".
315               -->
316             <input type="text" id="rangeTextInvalidGreater" name="rangeTextInvalidGreater" min="50" max="200" value="1000"/>
317             <input type="text" id="rangeTextInvalidLess" name="rangeTextInvalidLess" min="200" max="1000" value="50"/>
318             <input id="rangeAbsentInvalidGreater" name="rangeAbsentInvalidGreater" min="50" max="200" value="1000"/>
319             <input id="rangeAbsentInvalidLess" name="rangeAbsentInvalidLess" min="200" max="1000" value="50"/>
320
321             <input type="text" id="rangeTextValid" name="rangeTextValid" min="50" max="1000" value="200"/>
322             <input id="rangeAbsentValid" name="rangeTextValid" min="50" max="1000" value="200"/>
323
324             <!-- ranges are like numbers in html5, except that browser is not required 
325                  to demand an exact value.  User interface could be a slider.
326               -->
327             <input type="range" id="rangeRangeValid" name="rangeRangeValid" min="50" max="1000" value="200"/>
328
329             <input type="number" id="rangeNumberValid" name="rangeNumberValid" min="50" max="1000" value="200"/>
330             <input type="number" id="rangeNumberInvalidGreater" name="rangeNumberInvalidGreater" min="50" max="200" value="1000"/>
331             <input type="number" id="rangeNumberInvalidLess" name="rangeNumberInvalidLess" min="50" max="200" value="6"/>
332
333         </form>
334         <form id="rangeMinDateValid">
335             <input type="date" id="minDateValid" name="minDateValid" min="2012-11-21" value="2012-12-21"/>
336         </form>
337         
338         <form id="bypassValidation">
339                 <input type="text" required/>
340                 <input id="normalSubmit" type="submit" value="submit"/>
341                 <input id="bypassSubmitWithCancel" type="submit" class="cancel" value="bypass1"/>
342                 <input id="bypassSubmitWithNoValidate1" type="submit" formnovalidate value="bypass1"/>
343                 <input id="bypassSubmitWithNoValidate2" type="submit" formnovalidate="formnovalidate" value="bypass2"/>
344         </form>
345     </div>
346
347 </body>
348 </html>