1 2 3 4<!DOCTYPE html> 5<html> 6 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#"> 7 <meta charset='utf-8'> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 9 <title>uni-form/js/uni-form-validation.jquery.js at master · draganbabic/uni-form · GitHub</title> 10 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" /> 11 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" /> 12 <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png" /> 13 <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png" /> 14 <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png" /> 15 <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png" /> 16 <link rel="logo" type="image/svg" href="https://github-media-downloads.s3.amazonaws.com/github-logo.svg" /> 17 <meta property="og:image" content="https://github.global.ssl.fastly.net/images/modules/logos_page/Octocat.png"> 18 <meta name="hostname" content="github-fe119-cp1-prd.iad.github.net"> 19 <meta name="ruby" content="ruby 1.9.3p194-tcs-github-tcmalloc (0e75de19f8) [x86_64-linux]"> 20 <link rel="assets" href="https://github.global.ssl.fastly.net/"> 21 <link rel="conduit-xhr" href="https://ghconduit.com:25035/"> 22 <link rel="xhr-socket" href="/_sockets" /> 23 24 25 26 <meta name="msapplication-TileImage" content="/windows-tile.png" /> 27 <meta name="msapplication-TileColor" content="#ffffff" /> 28 <meta name="selected-link" value="repo_source" data-pjax-transient /> 29 <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="AD45B99A:5C1D:313E17B:52727CA3" name="octolytics-dimension-request_id" /> 30 31 32 33 34 <link rel="icon" type="image/x-icon" href="/favicon.ico" /> 35 36 <meta content="authenticity_token" name="csrf-param" /> 37<meta content="scqlHj9rq676TYD9qKpgtcEuEqbz6+2Xzyjcw1n9Wok=" name="csrf-token" /> 38 39 <link href="https://github.global.ssl.fastly.net/assets/github-c1c8f4d1225e3ae12e7eed7a87e6125ec4f4c50a.css" media="all" rel="stylesheet" type="text/css" /> 40 <link href="https://github.global.ssl.fastly.net/assets/github2-6ca1cf184423f082ccd30296372104601de151e8.css" media="all" rel="stylesheet" type="text/css" /> 41 42 43 44 45 <script src="https://github.global.ssl.fastly.net/assets/frameworks-fedd15115b82c3d5d2afa34f475ba2caa6283613.js" type="text/javascript"></script> 46 <script src="https://github.global.ssl.fastly.net/assets/github-32c6bb6e4158fa642e474640b8074f3fb50b3795.js" type="text/javascript"></script> 47 48 <meta http-equiv="x-pjax-version" content="4715596bc36f40085dee20cc3a6c2497"> 49 50 <link data-pjax-transient rel='permalink' href='/draganbabic/uni-form/blob/3bb94bf919dfa0d99cab3f5619d7bcde7fcee6cc/js/uni-form-validation.jquery.js'> 51 <meta property="og:title" content="uni-form"/> 52 <meta property="og:type" content="githubog:gitrepository"/> 53 <meta property="og:url" content="https://github.com/draganbabic/uni-form"/> 54 <meta property="og:image" content="https://github.global.ssl.fastly.net/images/gravatars/gravatar-user-420.png"/> 55 <meta property="og:site_name" content="GitHub"/> 56 <meta property="og:description" content="Uni-Form is a framework that standardizes form markup and styles it with CSS giving you two most widely used layout options to choose from. Anyone can get nice looking, well structured, highly customizable, accessible and usable forms. To put it simply: it makes a developer's life a lot easier. Support â http://getsatisfaction.com/uni-form"/> 57 58 <meta name="description" content="Uni-Form is a framework that standardizes form markup and styles it with CSS giving you two most widely used layout options to choose from. Anyone can get nice looking, well structured, highly customizable, accessible and usable forms. To put it simply: it makes a developer's life a lot easier. Support â http://getsatisfaction.com/uni-form" /> 59 60 <meta content="7902" name="octolytics-dimension-user_id" /><meta content="draganbabic" name="octolytics-dimension-user_login" /><meta content="11104" name="octolytics-dimension-repository_id" /><meta content="draganbabic/uni-form" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="11104" name="octolytics-dimension-repository_network_root_id" /><meta content="draganbabic/uni-form" name="octolytics-dimension-repository_network_root_nwo" /> 61 <link href="https://github.com/draganbabic/uni-form/commits/master.atom" rel="alternate" title="Recent
61Commits to uni-form:master" type="application/atom+xml" /> 62 63 </head> 64 65 66 <body class="logged_out env-production macintosh vis-public page-blob"> 67 <div class="wrapper"> 68 69 70 71 72 73 74 <div class="header header-logged-out"> 75 <div class="container clearfix"> 76 77 <a class="header-logo-wordmark" href="https://github.com/"> 78 <span class="mega-octicon octicon-logo-github"></span> 79 </a> 80 81 <div class="header-actions"> 82 <a class="button primary" href="/join">Sign up</a> 83 <a class="button signin" href="/login?return_to=%2Fdraganbabic%2Funi-form%2Fblob%2Fmaster%2Fjs%2Funi-form-validation.jquery.js">Sign in</a> 84 </div> 85 86 <div class="command-bar js-command-bar in-repository"> 87 88 <ul class="top-nav"> 89 <li class="explore"><a href="/explore">Explore</a></li> 90 <li class="features"><a href="/features">Features</a></li> 91 <li class="enterprise"><a href="https://enterprise.github.com/">Enterprise</a></li> 92 <li class="blog"><a href="/blog">Blog</a></li> 93 </ul> 94 <form accept-charset="UTF-8" action="/search" class="command-bar-form" id="top_search_form" method="get"> 95 96<input type="text" data-hotkey="/ s" name="q" id="js-command-bar-field" placeholder="Search or type a command" tabindex="1" autocapitalize="off" 97 98 99 data-repo="draganbabic/uni-form" 100 data-branch="master" 101 data-sha="a93ffbaac944c1634d132c1ed1b85d74b29dbadf" 102 > 103 104 <input type="hidden" name="nwo" value="draganbabic/uni-form" /> 105 106 <div class="select-menu js-menu-container js-select-menu search-context-select-menu"> 107 <span class="minibutton select-menu-button js-menu-target"> 108 <span class="js-select-button">This repository</span> 109 </span> 110 111 <div class="select-menu-modal-holder js-menu-content js-navigation-container"> 112 <div class="select-menu-modal"> 113 114 <div class="select-menu-item js-navigation-item js-this-repository-navigation-item selected"> 115 <span class="select-menu-item-icon octicon octicon-check"></span> 116 <input type="radio" class="js-search-this-repository" name="search_target" value="repository" checked="checked" /> 117 <div class="select-menu-item-text js-select-button-text">This repository</div> 118 </div> <!-- /.select-menu-item --> 119 120 <div class="select-menu-item js-navigation-item js-all-repositories-navigation-item"> 121 <span class="select-menu-item-icon octicon octicon-check"></span> 122 <input type="radio" name="search_target" value="global" /> 123 <div class="select-menu-item-text js-select-button-text">All repositories</div> 124 </div> <!-- /.select-menu-item --> 125 126 </div> 127 </div> 128 </div> 129 130 <span class="octicon help tooltipped downwards" title="Show command bar help"> 131 <span class="octicon octicon-question"></span> 132 </span> 133 134 135 <input type="hidden" name="ref" value="cmdform"> 136 137</form> 138 </div> 139 140 </div> 141</div> 142 143 144 145 146 147 <div class="site" itemscope itemtype="http://schema.org/WebPage"> 148 149 <div class="pagehead repohead instapaper_ignore readability-menu"> 150 <div class="container"> 151 152 153<ul class="pagehead-actions"> 154 155 156 <li> 157 <a href="/login?return_to=%2Fdraganbabic%2Funi-form" 158 class="minibutton with-count js-toggler-target star-button entice tooltipped upwards" 159 title="You must be signed in to use this feature" rel="nofollow"> 160 <span class="octicon octicon-star"></span>Star 161</a> 162<a class="social-count js-social-count" href="/draganbabic/uni-form/stargazers"> 163 458 164</a> 165 166 </li> 167 168 <li> 169 <a href="/login?return_to=%2Fdraganbabic%2Funi-form" 170 class="minibutton with-count js-toggler-target fork-button entice tooltipped upwards" 171 title="You must be signed in to fork a repository" rel="nofollow"> 172 <span class="octicon octicon-git-branch"></span>Fork 173 </a> 174 <a href="/draganbabic/uni-form/network" class="social-count"> 175 52 176 </a> 177 </li> 178</ul> 179 180 <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
181 <span class="repo-label"><span>public</span></span> 182 <span class="mega-octicon octicon-repo"></span> 183 <span class="author"> 184 <a href="/draganbabic" class="url fn" itemprop="url" rel="author"><span itemprop="title">draganbabic</span></a> 185 </span> 186 <span class="repohead-name-divider">/</span> 187 <strong><a href="/draganbabic/uni-form" class="js-current-repository js-repo-home-link">uni-form</a></strong> 188 189 <span class="page-context-loader"> 190 <img alt="Octocat-spinner-32" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 191 </span> 192 193 </h1> 194 </div><!-- /.container --> 195 </div><!-- /.repohead --> 196 197 <div class="container"> 198 199 <div class="repository-with-sidebar repo-container "> 200 201 <div class="repository-sidebar"> 202 203 204<div class="sunken-menu vertical-right repo-nav js-repo-nav js-repository-container-pjax js-octicon-loaders"> 205 <div class="sunken-menu-contents"> 206 <ul class="sunken-menu-group"> 207 <li class="tooltipped leftwards" title="Code"> 208 <a href="/draganbabic/uni-form" aria-label="Code" class="selected js-selected-navigation-item sunken-menu-item" data-gotokey="c" data-pjax="true" data-selected-links="repo_source repo_downloads repo_commits repo_tags repo_branches /draganbabic/uni-form"> 209 <span class="octicon octicon-code"></span> <span class="full-word">Code</span> 210 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 211</a> </li> 212 213 <li class="tooltipped leftwards" title="Issues"> 214 <a href="/draganbabic/uni-form/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-gotokey="i" data-selected-links="repo_issues /draganbabic/uni-form/issues"> 215 <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span> 216 <span class='counter'>2</span> 217 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 218</a> </li> 219 220 <li class="tooltipped leftwards" title="Pull Requests"><a href="/draganbabic/uni-form/pulls" aria-label="Pull Requests" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-gotokey="p" data-selected-links="repo_pulls /draganbabic/uni-form/pulls"> 221 <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull Requests</span> 222 <span class='counter'>0</span> 223 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 224</a> </li> 225 226 227 </ul> 228 <div class="sunken-menu-separator"></div> 229 <ul class="sunken-menu-group"> 230 231 <li class="tooltipped leftwards" title="Pulse"> 232 <a href="/draganbabic/uni-form/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="pulse /draganbabic/uni-form/pulse"> 233 <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span> 234 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 235</a> </li> 236 237 <li class="tooltipped leftwards" title="Graphs"> 238 <a href="/draganbabic/uni-form/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="repo_graphs repo_contributors /draganbabic/uni-form/graphs"> 239 <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span> 240 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 241</a> </li> 242 243 <li class="tooltipped leftwards" title="Network"> 244 <a href="/draganbabic/uni-form/network" aria-label="Network" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-selected-links="repo_network /draganbabic/uni-form/network">
245 <span class="octicon octicon-git-branch"></span> <span class="full-word">Network</span> 246 <img alt="Octocat-spinner-32" class="mini-loader" height="16" src="https://github.global.ssl.fastly.net/images/spinners/octocat-spinner-32.gif" width="16" /> 247</a> </li> 248 </ul> 249 250 251 </div> 252</div> 253 254 <div class="only-with-full-nav"> 255 256 257 258 259<div class="clone-url open" 260 data-protocol-type="http" 261 data-url="/users/set_protocol?protocol_selector=http&protocol_type=clone"> 262 <h3><strong>HTTPS</strong> clone URL</h3> 263 <div class="clone-url-box"> 264 <input type="text" class="clone js-url-field" 265 value="https://github.com/draganbabic/uni-form.git" readonly="readonly"> 266 267 <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/draganbabic/uni-form.git" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span> 268 </div> 269</div> 270 271 272 273<div class="clone-url " 274 data-protocol-type="subversion" 275 data-url="/users/set_protocol?protocol_selector=subversion&protocol_type=clone"> 276 <h3><strong>Subversion</strong> checkout URL</h3> 277 <div class="clone-url-box"> 278 <input type="text" class="clone js-url-field" 279 value="https://github.com/draganbabic/uni-form" readonly="readonly"> 280 281 <span class="js-zeroclipboard url-box-clippy minibutton zeroclipboard-button" data-clipboard-text="https://github.com/draganbabic/uni-form" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span> 282 </div> 283</div> 284 285 286<p class="clone-options">You can clone with 287 <a href="#" class="js-clone-selector" data-protocol="http">HTTPS</a>, 288 or <a href="#" class="js-clone-selector" data-protocol="subversion">Subversion</a>. 289 <span class="octicon help tooltipped upwards" title="Get help on which URL is right for you."> 290 <a href="https://help.github.com/articles/which-remote-url-should-i-use"> 291 <span class="octicon octicon-question"></span> 292 </a> 293 </span> 294</p> 295 296 <a href="http://mac.github.com" data-url="github-mac://openRepo/https://github.com/draganbabic/uni-form" class="minibutton sidebar-button js-conduit-rewrite-url"> 297 <span class="octicon octicon-device-desktop"></span> 298 Clone in Desktop 299 </a> 300 301 302 <a href="/draganbabic/uni-form/archive/master.zip" 303 class="minibutton sidebar-button" 304 title="Download this repository as a zip file" 305 rel="nofollow"> 306 <span class="octicon octicon-cloud-download"></span> 307 Download ZIP 308 </a> 309 </div> 310 </div><!-- /.repository-sidebar --> 311 312 <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container> 313 314 315 316<!-- blob contrib key: blob_contributors:v21:a928ef283a47101dbbd92e8dae881a76 --> 317 318<p title="This is a placeholder element" class="js-history-link-replace hidden"></p> 319 320<a href="/draganbabic/uni-form/find/master" data-pjax data-hotkey="t" class="js-show-file-finder" style="display:none">Show File Finder</a> 321 322<div class="file-navigation"> 323 324 325 326<div class="select-menu js-menu-container js-select-menu" > 327 <span class="minibutton select-menu-button js-menu-target" data-hotkey="w" 328 data-master-branch="master" 329 data-ref="master" 330 role="button" aria-label="Switch branches or tags" tabindex="0"> 331 <span class="octicon octicon-git-branch"></span> 332 <i>branch:</i> 333 <span class="js-select-button">master</span> 334 </span> 335 336 <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax> 337 338 <div class="select-menu-modal"> 339 <div class="select-menu-header"> 340 <span class="select-menu-title">Switch branches/tags</span> 341 <span class="octicon octicon-remove-close js-menu-close"></span> 342 </div> <!-- /.select-menu-header --> 343 344 <div class="select-menu-filters"> 345 <div class="select-menu-text-filter"> 346 <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags"> 347 </div> 348 <div class="select-menu-tabs"> 349 <ul> 350 <li class="select-menu-tab"> 351 <a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a> 352 </li> 353 <li class="select-menu-tab"> 354 <a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a> 355 </li> 356 </ul> 357 </div><!-- /.select-menu-tabs --> 358 </div><!-- /.select-menu-filters --> 359 360 <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches"> 361 362 <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> 363 364 365 <div class="select-menu-item js-navigation-item ">
366 <span class="select-menu-item-icon octicon octicon-check"></span> 367 <a href="/draganbabic/uni-form/blob/development/js/uni-form-validation.jquery.js" 368 data-name="development" 369 data-skip-pjax="true" 370 rel="nofollow" 371 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" 372 title="development">development</a> 373 </div> <!-- /.select-menu-item --> 374 <div class="select-menu-item js-navigation-item selected"> 375 <span class="select-menu-item-icon octicon octicon-check"></span> 376 <a href="/draganbabic/uni-form/blob/master/js/uni-form-validation.jquery.js" 377 data-name="master" 378 data-skip-pjax="true" 379 rel="nofollow" 380 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" 381 title="master">master</a> 382 </div> <!-- /.select-menu-item --> 383 <div class="select-menu-item js-navigation-item "> 384 <span class="select-menu-item-icon octicon octicon-check"></span> 385 <a href="/draganbabic/uni-form/blob/uni-form-v-1-5/js/uni-form-validation.jquery.js" 386 data-name="uni-form-v-1-5" 387 data-skip-pjax="true" 388 rel="nofollow" 389 class="js-navigation-open select-menu-item-text js-select-button-text css-truncate-target" 390 title="uni-form-v-1-5">uni-form-v-1-5</a> 391 </div> <!-- /.select-menu-item --> 392 </div> 393 394 <div class="select-menu-no-results">Nothing to show</div> 395 </div> <!-- /.select-menu-list --> 396 397 <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags"> 398 <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring"> 399 400 401 </div> 402 403 <div class="select-menu-no-results">Nothing to show</div> 404 </div> <!-- /.select-menu-list --> 405 406 </div> <!-- /.select-menu-modal --> 407 </div> <!-- /.select-menu-modal-holder --> 408</div> <!-- /.select-menu --> 409 410 <div class="breadcrumb"> 411 <span class='repo-root js-repo-root'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/draganbabic/uni-form" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">uni-form</span></a></span></span><span class="separator"> / </span><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/draganbabic/uni-form/tree/master/js" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">js</span></a></span><span class="separator"> / </span><strong class="final-path">uni-form-validation.jquery.js</strong> <span class="js-zeroclipboard minibutton zeroclipboard-button" data-clipboard-text="js/uni-form-validation.jquery.js" data-copied-hint="copied!" title="copy to clipboard"><span class="octicon octicon-clippy"></span></span> 412 </div> 413</div> 414 415 416 417 <div class="commit file-history-tease"> 418 <img class="main-avatar" height="24" src="https://2.gravatar.com/avatar/c5cf475840d8677444d21ee3bf9cfcb7?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png&r=x&s=140" width="24" /> 419 <span class="author"><span rel="author">Vladimir Garvardt</span></span> 420 <time class="js-relative-date" datetime="2011-08-17T01:32:35-07:00" title="2011-08-17 01:32:35">August 17, 2011</time> 421 <div class="commit-title"> 422 <a href="/draganbabic/uni-form/commit/dae7087869c123373d2c6d13f06059f78a9ffd36" class="message" data-pjax="true" title="User form context for validateSameAs validator for multiple forms page c... 423 424...orrect processing (e.g. password field exists on both sign in and sign up forms on a single page)">User form context for validateSameAs validator for multiple forms pagâ¦</a> 425 </div> 426 427 <div class="participation"> 428 <p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>2</strong> contributors</a></p> 429 <a class="avatar tooltipped downwards" title="LearningStation" href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js?author=LearningStation"><img height="20" src="https://1.gravatar.com/avatar/675735cce81cc107292db65f629f37fe?d=https%3A%2F%2Fidenticons.github.com%2F4dd864607a39aa162227ce98b4c1af74.png&r=x&s=140" width="20" /></a> 430 <a class="avatar tooltipped downwards" title="gimler" href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js?author=gimler"><img height="20" src="https://1.gravatar.com/avatar/0f64f3a8813318d28190897d621bf27d?d=https%3A%2F%2Fidenticons.github.com%2Fd69d7ac9fea6fe0abc426399302e06f0.png&r=x&s=140" width="20" /></a> 431 432 433 </div> 434 <div id="blob_contributors_box" style="display:none"> 435 <h2 class="facebox-header">Users who have contributed to this file</h2> 436 <ul class="facebox-user-list"> 437 <li class="facebox-user-list-item"> 438 <img height="24" src="https://1.gravatar.com/avatar/675735cce81cc107292db65f629f37fe?d=https%3A%2F%2Fidenticons.github.com%2F4dd864607a39aa162227ce98b4c1af74.png&r=x&s=140" width="24" /> 439 <a href="/LearningStation">LearningStation</a> 440 </li> 441 <li class="facebox-user-list-item"> 442 <img height="24" src="https://1.gravatar.com/avatar/0f64f3a8813318d28190897d621bf27d?d=https%3A%2F%2Fidenticons.github.com%2Fd69d7ac9fea6fe0abc426399302e06f0.png&r=x&s=140" width="24" /> 443 <a href="/gimler">gimler</a> 444 </li> 445 </ul> 446 </div> 447 </div> 448 449<div id="files" class="bubble"> 450 <div class="file"> 451 <div class="meta"> 452 <div class="info">
453 <span class="icon"><b class="octicon octicon-file-text"></b></span> 454 <span class="mode" title="File Mode">file</span> 455 <span>800 lines (717 sloc)</span> 456 <span>26.313 kb</span> 457 </div> 458 <div class="actions"> 459 <div class="button-group"> 460 <a class="minibutton tooltipped leftwards js-conduit-openfile-check" 461 href="http://mac.github.com" 462 data-url="github-mac://openRepo/https://github.com/draganbabic/uni-form?branch=master&filepath=js%2Funi-form-validation.jquery.js" 463 title="Open this file in GitHub for Mac" 464 data-failed-title="Your version of GitHub for Mac is too old to open this file. Try checking for updates."> 465 <span class="octicon octicon-device-desktop"></span> Open 466 </a> 467 <a class="minibutton disabled js-entice" href="" 468 data-entice="You must be signed in to make or propose changes">Edit</a> 469 <a href="/draganbabic/uni-form/raw/master/js/uni-form-validation.jquery.js" class="button minibutton " id="raw-url">Raw</a> 470 <a href="/draganbabic/uni-form/blame/master/js/uni-form-validation.jquery.js" class="button minibutton ">Blame</a> 471 <a href="/draganbabic/uni-form/commits/master/js/uni-form-validation.jquery.js" class="button minibutton " rel="nofollow">History</a> 472 </div><!-- /.button-group --> 473 <a class="minibutton danger empty-icon js-entice" href="" 474 data-entice="You must be signed in and on a branch to make or propose changes"> 475 Delete 476 </a> 477 </div><!-- /.actions --> 478 479 </div> 480 <div class="blob-wrapper data type-javascript js-blob-data"> 481 <table class="file-code file-diff"> 482 <tr class="file-code-line"> 483 <td class="blob-line-nums"> 484 <span id="L1" rel="#L1">1</span> 485<span id="L2" rel="#L2">2</span> 486<span id="L3" rel="#L3">3</span> 487<span id="L4" rel="#L4">4</span> 488<span id="L5" rel="#L5">5</span> 489<span id="L6" rel="#L6">6</span> 490<span id="L7" rel="#L7">7</span> 491<span id="L8" rel="#L8">8</span> 492<span id="L9" rel="#L9">9</span> 493<span id="L10" rel="#L10">10</span> 494<span id="L11" rel="#L11">11</span> 495<span id="L12" rel="#L12">12</span> 496<span id="L13" rel="#L13">13</span> 497<span id="L14" rel="#L14">14</span> 498<span id="L15" rel="#L15">15</span> 499<span id="L16" rel="#L16">16</span> 500<span id="L17" rel="#L17">17</span> 501<span id="L18" rel="#L18">18</span> 502<span id="L19" rel="#L19">19</span> 503<span id="L20" rel="#L20">20</span> 504<span id="L21" rel="#L21">21</span> 505<span id="L22" rel="#L22">22</span> 506<span id="L23" rel="#L23">23</span> 507<span id="L24" rel="#L24">24</span> 508<span id="L25" rel="#L25">25</span> 509<span id="L26" rel="#L26">26</span> 510<span id="L27" rel="#L27">27</span> 511<span id="L28" rel="#L28">28</span> 512<span id="L29" rel="#L29">29</span> 513<span id="L30" rel="#L30">30</span> 514<span id="L31" rel="#L31">31</span> 515<span id="L32" rel="#L32">32</span> 516<span id="L33" rel="#L33">33</span> 517<span id="L34" rel="#L34">34</span> 518<span id="L35" rel="#L35">35</span> 519<span id="L36" rel="#L36">36</span> 520<span id="L37" rel="#L37">37</span> 521<span id="L38" rel="#L38">38</span> 522<span id="L39" rel="#L39">39</span> 523<span id="L40" rel="#L40">40</span> 524<span id="L41" rel="#L41">41</span> 525<span id="L42" rel="#L42">42</span> 526<span id="L43" rel="#L43">43</span> 527<span id="L44" rel="#L44">44</span> 528<span id="L45" rel="#L45">45</span> 529<span id="L46" rel="#L46">46</span> 530<span id="L47" rel="#L47">47</span> 531<span id="L48" rel="#L48">48</span> 532<span id="L49" rel="#L49">49</span> 533<span id="L50" rel="#L50">50</span> 534<span id="L51" rel="#L51">51</span> 535<span id="L52" rel="#L52">52</span> 536<span id="L53" rel="#L53">53</span> 537<span id="L54" rel="#L54">54</span> 538<span id="L55" rel="#L55">55</span> 539<span id="L56" rel="#L56">56</span> 540<span id="L57" rel="#L57">57</span> 541<span id="L58" rel="#L58">58</span> 542<span id="L59" rel="#L59">59</span> 543<span id="L60" rel="#L60">60</span> 544<span id="L61" rel="#L61">61</span> 545<span id="L62" rel="#L62">62</span> 546<span id="L63" rel="#L63">63</span> 547<span id="L64" rel="#L64">64</span> 548<span id="L65" rel="#L65">65</span> 549<span id="L66" rel="#L66">66</span> 550<span id="L67" rel="#L67">67</span> 551<span id="L68" rel="#L68">68</span> 552<span id="L69" rel="#L69">69</span> 553<span id="L70" rel="#L70">70</span> 554<span id="L71" rel="#L71">71</span> 555<span id="L72" rel="#L72">72</span> 556<span id="L73" rel="#L73">73</span> 557<span id="L74" rel="#L74">74</span> 558<span id="L75" rel="#L75">75</span> 559<span id="L76" rel="#L76">76</span> 560<span id="L77" rel="#L77">77</span> 561<span id="L78" rel="#L78">78</span> 562<span id="L79" rel="#L79">79</span> 563<span id="L80" rel="#L80">80</span> 564<span id="L81" rel="#L81">81</span> 565<span id="L82" rel="#L82">82</span> 566<span id="L83" rel="#L83">83</span> 567<span id="L84" rel="#L84">84</span> 568<span id="L85" rel="#L85">85</span> 569<span id="L86" rel="#L86">86</span> 570<span id="L87" rel="#L87">87</span> 571<span id="L88" rel="#L88">88</span> 572<span id="L89" rel="#L89">89</span> 573<span id="L90" rel="#L90">90</span> 574<span id="L91" rel="#L91">91</span> 575<span id="L92" rel="#L92">92</span> 576<span id="L93" rel="#L93">93</span> 577<span id="L94" rel="#L94">
57794</span> 578<span id="L95" rel="#L95">95</span> 579<span id="L96" rel="#L96">96</span> 580<span id="L97" rel="#L97">97</span> 581<span id="L98" rel="#L98">98</span> 582<span id="L99" rel="#L99">99</span> 583<span id="L100" rel="#L100">100</span> 584<span id="L101" rel="#L101">101</span> 585<span id="L102" rel="#L102">102</span> 586<span id="L103" rel="#L103">103</span> 587<span id="L104" rel="#L104">104</span> 588<span id="L105" rel="#L105">105</span> 589<span id="L106" rel="#L106">106</span> 590<span id="L107" rel="#L107">107</span> 591<span id="L108" rel="#L108">108</span> 592<span id="L109" rel="#L109">109</span> 593<span id="L110" rel="#L110">110</span> 594<span id="L111" rel="#L111">111</span> 595<span id="L112" rel="#L112">112</span> 596<span id="L113" rel="#L113">113</span> 597<span id="L114" rel="#L114">114</span> 598<span id="L115" rel="#L115">115</span> 599<span id="L116" rel="#L116">116</span> 600<span id="L117" rel="#L117">117</span> 601<span id="L118" rel="#L118">118</span> 602<span id="L119" rel="#L119">119</span> 603<span id="L120" rel="#L120">120</span> 604<span id="L121" rel="#L121">121</span> 605<span id="L122" rel="#L122">122</span> 606<span id="L123" rel="#L123">123</span> 607<span id="L124" rel="#L124">124</span> 608<span id="L125" rel="#L125">125</span> 609<span id="L126" rel="#L126">126</span> 610<span id="L127" rel="#L127">127</span> 611<span id="L128" rel="#L128">128</span> 612<span id="L129" rel="#L129">129</span> 613<span id="L130" rel="#L130">130</span> 614<span id="L131" rel="#L131">131</span> 615<span id="L132" rel="#L132">132</span> 616<span id="L133" rel="#L133">133</span> 617<span id="L134" rel="#L134">134</span> 618<span id="L135" rel="#L135">135</span> 619<span id="L136" rel="#L136">136</span> 620<span id="L137" rel="#L137">137</span> 621<span id="L138" rel="#L138">138</span> 622<span id="L139" rel="#L139">139</span> 623<span id="L140" rel="#L140">140</span> 624<span id="L141" rel="#L141">141</span> 625<span id="L142" rel="#L142">142</span> 626<span id="L143" rel="#L143">143</span> 627<span id="L144" rel="#L144">144</span> 628<span id="L145" rel="#L145">145</span> 629<span id="L146" rel="#L146">146</span> 630<span id="L147" rel="#L147">147</span> 631<span id="L148" rel="#L148">148</span> 632<span id="L149" rel="#L149">149</span> 633<span id="L150" rel="#L150">150</span> 634<span id="L151" rel="#L151">151</span> 635<span id="L152" rel="#L152">152</span> 636<span id="L153" rel="#L153">153</span> 637<span id="L154" rel="#L154">154</span> 638<span id="L155" rel="#L155">155</span> 639<span id="L156" rel="#L156">156</span> 640<span id="L157" rel="#L157">157</span> 641<span id="L158" rel="#L158">158</span> 642<span id="L159" rel="#L159">159</span> 643<span id="L160" rel="#L160">160</span> 644<span id="L161" rel="#L161">161</span> 645<span id="L162" rel="#L162">162</span> 646<span id="L163" rel="#L163">163</span> 647<span id="L164" rel="#L164">164</span> 648<span id="L165" rel="#L165">165</span> 649<span id="L166" rel="#L166">166</span> 650<span id="L167" rel="#L167">167</span> 651<span id="L168" rel="#L168">168</span> 652<span id="L169" rel="#L169">169</span> 653<span id="L170" rel="#L170">170</span> 654<span id="L171" rel="#L171">171</span> 655<span id="L172" rel="#L172">172</span> 656<span id="L173" rel="#L173">173</span> 657<span id="L174" rel="#L174">174</span> 658<span id="L175" rel="#L175">175</span> 659<span id="L176" rel="#L176">176</span> 660<span id="L177" rel="#L177">177</span> 661<span id="L178" rel="#L178">178</span> 662<span id="L179" rel="#L179">179</span> 663<span id="L180" rel="#L180">180</span> 664<span id="L181" rel="#L181">181</span> 665<span id="L182" rel="#L182">182</span> 666<span id="L183" rel="#L183">183</span> 667<span id="L184" rel="#L184">184</span> 668<span id="L185" rel="#L185">185</span> 669<span id="L186" rel="#L186">186</span> 670<span id="L187" rel="#L187">187</span> 671<span id="L188" rel="#L188">188</span> 672<span id="L189" rel="#L189">189</span> 673<span id="L190" rel="#L190">190</span> 674<span id="L191" rel="#L191">191</span> 675<span id="L192" rel="#L192">192</span> 676<span id="L193" rel="#L193">193</span> 677<span id="L194" rel="#L194">194</span> 678<span id="L195" rel="#L195">195</span> 679<span id="L196" rel="#L196">196</span> 680<span id="L197" rel="#L197">197</span> 681<span id="L198" rel="#L198">198</span> 682<span id="L199" rel="#L199">199</span> 683<span id="L200" rel="#L200">200</span> 684<span id="L201" rel="#L201">201</span> 685<span id="L202" rel="#L202">202</span> 686<span id="L203" rel="#L203">203</span> 687<span id="L204" rel="#L204">204</span> 688<span id="L205" rel="#L205">205</span> 689<span id="L206" rel="#L206">206</span> 690<span id="L207" rel="#L207">207</span> 691<span id="L208" rel="#L208">208</span> 692<span id="L209" rel="#L209">209</span> 693<span id="L210" rel="#L210">210</span> 694<span id="L211" rel="#L211">211</span> 695<span id="L212" rel="#L212">212</span> 696<span id="L213" rel="#L213">213</span> 697<span id="L214" rel="#L214">214</span> 698<span id="L215" rel="#L215">215</span> 699<span id="L216" rel="#L216">216</span> 700<span id="L217" rel="#L217">217</span> 701<span id="L218" rel="#L218">218</span> 702<span id="L219" rel="#L219">219</span> 703<span id="L220" rel="#L220">220</span> 704<span id="L221" rel="#L221">221</span> 705<span id="L222" rel="#L222">222</span> 706<span id="L223" rel="#L223">223</span> 707<span id="L224" rel="#L224">224</span> 708<span id="L225" rel="#L225">225</span> 709<span id="L226" rel="#L226">226</span> 710<span id="L227" rel="#L227">227</span> 711<span id="L228" rel="#L228">228</span> 712<span id="L229" rel="#L229">229</span> 713<span id="L230" rel="#L230">230</span> 714<span id="L231" rel="#L231">231</span> 715<span id="L232" rel="#L232">232</span> 716<span id="L233" rel="#L233">233</span> 717<span id="L234" rel="#L234">234</span> 718<span id="L235" rel="#L235">235</span> 719<span id="L236" rel="#L236">236</span> 720<span id="L237" rel="#L237">237</span> 721<span id="L238" rel="#L238">238</span> 722<span id="L239" rel="#L239">239</span> 723<span id="L240" rel="#L240">240</span> 724<span id="L241" rel="#L241">241</span> 725<span id="L242" rel="#L242">242</span> 726<span id="L243" rel="#L243">243</span> 727<span id="L244" rel="#L244">244</span> 728<span id="L245" rel="#L245">245</span> 729<span id="L246" rel="#L246">246</span> 730<span id="L247" rel="#L247">247</span> 731<span id="L248" rel="#L248">248</span> 732<span id="L249" rel="#L249">249</span> 733<span id="L250" rel="#L250">250</span> 734<span id="L251" rel="#L251">251</span> 735<span id="L252" rel="#L252">252</span> 736<span id="L253" rel="#L253">253</span> 737<span id="L254" rel="#L254">254</span> 738<span id="L255" rel="#L255">255</span> 739<span id="L256" rel="#L256">256</span> 740<span id="L257" rel="#L257">257</span> 741<span id="L258" rel="#L258">258</span> 742<span id="L259" rel="#L259">259</span> 743<span id="L260" rel="#L260">260</span> 744<span id="L261" rel="#L261">261</span> 745<span id="L262" rel="#L262">262</span> 746<span id="L263" rel="#L263">263</span> 747<span id="L264" rel="#L264">264</span> 748<span id="L265" rel="#L265">265</span> 749<span id="L266" rel="#L266">266</span> 750<span id="L267" rel="#L267">267</span> 751<span id="L268" rel="#L268">268</span> 752<span id="L269" rel="#L269">269</span> 753<span id="L270" rel="#L270">270</span> 754<span id="L271" rel="#L271">271</span> 755<span id="L272" rel="#L272">272</span> 756<span id="L273" rel="#L273">273</span> 757<span id="L274" rel="#L274">
757274</span> 758<span id="L275" rel="#L275">275</span> 759<span id="L276" rel="#L276">276</span> 760<span id="L277" rel="#L277">277</span> 761<span id="L278" rel="#L278">278</span> 762<span id="L279" rel="#L279">279</span> 763<span id="L280" rel="#L280">280</span> 764<span id="L281" rel="#L281">281</span> 765<span id="L282" rel="#L282">282</span> 766<span id="L283" rel="#L283">283</span> 767<span id="L284" rel="#L284">284</span> 768<span id="L285" rel="#L285">285</span> 769<span id="L286" rel="#L286">286</span> 770<span id="L287" rel="#L287">287</span> 771<span id="L288" rel="#L288">288</span> 772<span id="L289" rel="#L289">289</span> 773<span id="L290" rel="#L290">290</span> 774<span id="L291" rel="#L291">291</span> 775<span id="L292" rel="#L292">292</span> 776<span id="L293" rel="#L293">293</span> 777<span id="L294" rel="#L294">294</span> 778<span id="L295" rel="#L295">295</span> 779<span id="L296" rel="#L296">296</span> 780<span id="L297" rel="#L297">297</span> 781<span id="L298" rel="#L298">298</span> 782<span id="L299" rel="#L299">299</span> 783<span id="L300" rel="#L300">300</span> 784<span id="L301" rel="#L301">301</span> 785<span id="L302" rel="#L302">302</span> 786<span id="L303" rel="#L303">303</span> 787<span id="L304" rel="#L304">304</span> 788<span id="L305" rel="#L305">305</span> 789<span id="L306" rel="#L306">306</span> 790<span id="L307" rel="#L307">307</span> 791<span id="L308" rel="#L308">308</span> 792<span id="L309" rel="#L309">309</span> 793<span id="L310" rel="#L310">310</span> 794<span id="L311" rel="#L311">311</span> 795<span id="L312" rel="#L312">312</span> 796<span id="L313" rel="#L313">313</span> 797<span id="L314" rel="#L314">314</span> 798<span id="L315" rel="#L315">315</span> 799<span id="L316" rel="#L316">316</span> 800<span id="L317" rel="#L317">317</span> 801<span id="L318" rel="#L318">318</span> 802<span id="L319" rel="#L319">319</span> 803<span id="L320" rel="#L320">320</span> 804<span id="L321" rel="#L321">321</span> 805<span id="L322" rel="#L322">322</span> 806<span id="L323" rel="#L323">323</span> 807<span id="L324" rel="#L324">324</span> 808<span id="L325" rel="#L325">325</span> 809<span id="L326" rel="#L326">326</span> 810<span id="L327" rel="#L327">327</span> 811<span id="L328" rel="#L328">328</span> 812<span id="L329" rel="#L329">329</span> 813<span id="L330" rel="#L330">330</span> 814<span id="L331" rel="#L331">331</span> 815<span id="L332" rel="#L332">332</span> 816<span id="L333" rel="#L333">333</span> 817<span id="L334" rel="#L334">334</span> 818<span id="L335" rel="#L335">335</span> 819<span id="L336" rel="#L336">336</span> 820<span id="L337" rel="#L337">337</span> 821<span id="L338" rel="#L338">338</span> 822<span id="L339" rel="#L339">339</span> 823<span id="L340" rel="#L340">340</span> 824<span id="L341" rel="#L341">341</span> 825<span id="L342" rel="#L342">342</span> 826<span id="L343" rel="#L343">343</span> 827<span id="L344" rel="#L344">344</span> 828<span id="L345" rel="#L345">345</span> 829<span id="L346" rel="#L346">346</span> 830<span id="L347" rel="#L347">347</span> 831<span id="L348" rel="#L348">348</span> 832<span id="L349" rel="#L349">349</span> 833<span id="L350" rel="#L350">350</span> 834<span id="L351" rel="#L351">351</span> 835<span id="L352" rel="#L352">352</span> 836<span id="L353" rel="#L353">353</span> 837<span id="L354" rel="#L354">354</span> 838<span id="L355" rel="#L355">355</span> 839<span id="L356" rel="#L356">356</span> 840<span id="L357" rel="#L357">357</span> 841<span id="L358" rel="#L358">358</span> 842<span id="L359" rel="#L359">359</span> 843<span id="L360" rel="#L360">360</span> 844<span id="L361" rel="#L361">361</span> 845<span id="L362" rel="#L362">362</span> 846<span id="L363" rel="#L363">363</span> 847<span id="L364" rel="#L364">364</span> 848<span id="L365" rel="#L365">365</span> 849<span id="L366" rel="#L366">366</span> 850<span id="L367" rel="#L367">367</span> 851<span id="L368" rel="#L368">368</span> 852<span id="L369" rel="#L369">369</span> 853<span id="L370" rel="#L370">370</span> 854<span id="L371" rel="#L371">371</span> 855<span id="L372" rel="#L372">372</span> 856<span id="L373" rel="#L373">373</span> 857<span id="L374" rel="#L374">374</span> 858<span id="L375" rel="#L375">375</span> 859<span id="L376" rel="#L376">376</span> 860<span id="L377" rel="#L377">377</span> 861<span id="L378" rel="#L378">378</span> 862<span id="L379" rel="#L379">379</span> 863<span id="L380" rel="#L380">380</span> 864<span id="L381" rel="#L381">381</span> 865<span id="L382" rel="#L382">382</span> 866<span id="L383" rel="#L383">383</span> 867<span id="L384" rel="#L384">384</span> 868<span id="L385" rel="#L385">385</span> 869<span id="L386" rel="#L386">386</span> 870<span id="L387" rel="#L387">387</span> 871<span id="L388" rel="#L388">388</span> 872<span id="L389" rel="#L389">389</span> 873<span id="L390" rel="#L390">390</span> 874<span id="L391" rel="#L391">391</span> 875<span id="L392" rel="#L392">
875392</span> 876<span id="L393" rel="#L393">393</span> 877<span id="L394" rel="#L394">394</span> 878<span id="L395" rel="#L395">395</span> 879<span id="L396" rel="#L396">396</span> 880<span id="L397" rel="#L397">397</span> 881<span id="L398" rel="#L398">398</span> 882<span id="L399" rel="#L399">399</span> 883<span id="L400" rel="#L400">400</span> 884<span id="L401" rel="#L401">401</span> 885<span id="L402" rel="#L402">402</span> 886<span id="L403" rel="#L403">403</span> 887<span id="L404" rel="#L404">404</span> 888<span id="L405" rel="#L405">405</span> 889<span id="L406" rel="#L406">406</span> 890<span id="L407" rel="#L407">407</span> 891<span id="L408" rel="#L408">408</span> 892<span id="L409" rel="#L409">409</span> 893<span id="L410" rel="#L410">410</span> 894<span id="L411" rel="#L411">411</span> 895<span id="L412" rel="#L412">412</span> 896<span id="L413" rel="#L413">413</span> 897<span id="L414" rel="#L414">414</span> 898<span id="L415" rel="#L415">415</span> 899<span id="L416" rel="#L416">416</span> 900<span id="L417" rel="#L417">417</span> 901<span id="L418" rel="#L418">418</span> 902<span id="L419" rel="#L419">419</span> 903<span id="L420" rel="#L420">420</span> 904<span id="L421" rel="#L421">421</span> 905<span id="L422" rel="#L422">422</span> 906<span id="L423" rel="#L423">423</span> 907<span id="L424" rel="#L424">424</span> 908<span id="L425" rel="#L425">425</span> 909<span id="L426" rel="#L426">426</span> 910<span id="L427" rel="#L427">427</span> 911<span id="L428" rel="#L428">428</span> 912<span id="L429" rel="#L429">429</span> 913<span id="L430" rel="#L430">430</span> 914<span id="L431" rel="#L431">431</span> 915<span id="L432" rel="#L432">432</span> 916<span id="L433" rel="#L433">433</span> 917<span id="L434" rel="#L434">434</span> 918<span id="L435" rel="#L435">435</span> 919<span id="L436" rel="#L436">436</span> 920<span id="L437" rel="#L437">437</span> 921<span id="L438" rel="#L438">438</span> 922<span id="L439" rel="#L439">439</span> 923<span id="L440" rel="#L440">440</span> 924<span id="L441" rel="#L441">441</span> 925<span id="L442" rel="#L442">442</span> 926<span id="L443" rel="#L443">443</span> 927<span id="L444" rel="#L444">444</span> 928<span id="L445" rel="#L445">445</span> 929<span id="L446" rel="#L446">446</span> 930<span id="L447" rel="#L447">447</span> 931<span id="L448" rel="#L448">448</span> 932<span id="L449" rel="#L449">449</span> 933<span id="L450" rel="#L450">450</span> 934<span id="L451" rel="#L451">451</span> 935<span id="L452" rel="#L452">452</span> 936<span id="L453" rel="#L453">453</span> 937<span id="L454" rel="#L454">454</span> 938<span id="L455" rel="#L455">455</span> 939<span id="L456" rel="#L456">456</span> 940<span id="L457" rel="#L457">457</span> 941<span id="L458" rel="#L458">458</span> 942<span id="L459" rel="#L459">459</span> 943<span id="L460" rel="#L460">460</span> 944<span id="L461" rel="#L461">461</span> 945<span id="L462" rel="#L462">462</span> 946<span id="L463" rel="#L463">463</span> 947<span id="L464" rel="#L464">464</span> 948<span id="L465" rel="#L465">465</span> 949<span id="L466" rel="#L466">466</span> 950<span id="L467" rel="#L467">467</span> 951<span id="L468" rel="#L468">468</span> 952<span id="L469" rel="#L469">469</span> 953<span id="L470" rel="#L470">470</span> 954<span id="L471" rel="#L471">471</span> 955<span id="L472" rel="#L472">472</span> 956<span id="L473" rel="#L473">473</span> 957<span id="L474" rel="#L474">474</span> 958<span id="L475" rel="#L475">475</span> 959<span id="L476" rel="#L476">476</span> 960<span id="L477" rel="#L477">477</span> 961<span id="L478" rel="#L478">478</span> 962<span id="L479" rel="#L479">479</span> 963<span id="L480" rel="#L480">480</span> 964<span id="L481" rel="#L481">481</span> 965<span id="L482" rel="#L482">482</span> 966<span id="L483" rel="#L483">483</span> 967<span id="L484" rel="#L484">484</span> 968<span id="L485" rel="#L485">485</span> 969<span id="L486" rel="#L486">486</span> 970<span id="L487" rel="#L487">487</span> 971<span id="L488" rel="#L488">488</span> 972<span id="L489" rel="#L489">489</span> 973<span id="L490" rel="#L490">490</span> 974<span id="L491" rel="#L491">491</span> 975<span id="L492" rel="#L492">492</span> 976<span id="L493" rel="#L493">493</span> 977<span id="L494" rel="#L494">494</span> 978<span id="L495" rel="#L495">495</span> 979<span id="L496" rel="#L496">496</span> 980<span id="L497" rel="#L497">497</span> 981<span id="L498" rel="#L498">498</span> 982<span id="L499" rel="#L499">499</span> 983<span id="L500" rel="#L500">500</span> 984<span id="L501" rel="#L501">501</span> 985<span id="L502" rel="#L502">502</span> 986<span id="L503" rel="#L503">503</span> 987<span id="L504" rel="#L504">
987504</span> 988<span id="L505" rel="#L505">505</span> 989<span id="L506" rel="#L506">506</span> 990<span id="L507" rel="#L507">507</span> 991<span id="L508" rel="#L508">508</span> 992<span id="L509" rel="#L509">509</span> 993<span id="L510" rel="#L510">510</span> 994<span id="L511" rel="#L511">511</span> 995<span id="L512" rel="#L512">512</span> 996<span id="L513" rel="#L513">513</span> 997<span id="L514" rel="#L514">514</span> 998<span id="L515" rel="#L515">515</span> 999<span id="L516" rel="#L516">516</span> 1000<span id="L517" rel="#L517">517</span> 1001<span id="L518" rel="#L518">518</span> 1002<span id="L519" rel="#L519">519</span> 1003<span id="L520" rel="#L520">520</span> 1004<span id="L521" rel="#L521">521</span> 1005<span id="L522" rel="#L522">522</span> 1006<span id="L523" rel="#L523">523</span> 1007<span id="L524" rel="#L524">524</span> 1008<span id="L525" rel="#L525">525</span> 1009<span id="L526" rel="#L526">526</span> 1010<span id="L527" rel="#L527">527</span> 1011<span id="L528" rel="#L528">528</span> 1012<span id="L529" rel="#L529">529</span> 1013<span id="L530" rel="#L530">530</span> 1014<span id="L531" rel="#L531">531</span> 1015<span id="L532" rel="#L532">532</span> 1016<span id="L533" rel="#L533">533</span> 1017<span id="L534" rel="#L534">534</span> 1018<span id="L535" rel="#L535">535</span> 1019<span id="L536" rel="#L536">536</span> 1020<span id="L537" rel="#L537">537</span> 1021<span id="L538" rel="#L538">538</span> 1022<span id="L539" rel="#L539">539</span> 1023<span id="L540" rel="#L540">540</span> 1024<span id="L541" rel="#L541">541</span> 1025<span id="L542" rel="#L542">542</span> 1026<span id="L543" rel="#L543">543</span> 1027<span id="L544" rel="#L544">544</span> 1028<span id="L545" rel="#L545">545</span> 1029<span id="L546" rel="#L546">546</span> 1030<span id="L547" rel="#L547">547</span> 1031<span id="L548" rel="#L548">548</span> 1032<span id="L549" rel="#L549">549</span> 1033<span id="L550" rel="#L550">550</span> 1034<span id="L551" rel="#L551">551</span> 1035<span id="L552" rel="#L552">552</span> 1036<span id="L553" rel="#L553">553</span> 1037<span id="L554" rel="#L554">554</span> 1038<span id="L555" rel="#L555">555</span> 1039<span id="L556" rel="#L556">556</span> 1040<span id="L557" rel="#L557">557</span> 1041<span id="L558" rel="#L558">558</span> 1042<span id="L559" rel="#L559">559</span> 1043<span id="L560" rel="#L560">560</span> 1044<span id="L561" rel="#L561">561</span> 1045<span id="L562" rel="#L562">562</span> 1046<span id="L563" rel="#L563">563</span> 1047<span id="L564" rel="#L564">564</span> 1048<span id="L565" rel="#L565">565</span> 1049<span id="L566" rel="#L566">566</span> 1050<span id="L567" rel="#L567">567</span> 1051<span id="L568" rel="#L568">568</span> 1052<span id="L569" rel="#L569">569</span> 1053<span id="L570" rel="#L570">570</span> 1054<span id="L571" rel="#L571">571</span> 1055<span id="L572" rel="#L572">572</span> 1056<span id="L573" rel="#L573">573</span> 1057<span id="L574" rel="#L574">574</span> 1058<span id="L575" rel="#L575">575</span> 1059<span id="L576" rel="#L576">576</span> 1060<span id="L577" rel="#L577">577</span> 1061<span id="L578" rel="#L578">578</span> 1062<span id="L579" rel="#L579">579</span> 1063<span id="L580" rel="#L580">580</span> 1064<span id="L581" rel="#L581">581</span> 1065<span id="L582" rel="#L582">582</span> 1066<span id="L583" rel="#L583">583</span> 1067<span id="L584" rel="#L584">584</span> 1068<span id="L585" rel="#L585">585</span> 1069<span id="L586" rel="#L586">586</span> 1070<span id="L587" rel="#L587">587</span> 1071<span id="L588" rel="#L588">588</span> 1072<span id="L589" rel="#L589">589</span> 1073<span id="L590" rel="#L590">590</span> 1074<span id="L591" rel="#L591">591</span> 1075<span id="L592" rel="#L592">592</span> 1076<span id="L593" rel="#L593">593</span> 1077<span id="L594" rel="#L594">594</span> 1078<span id="L595" rel="#L595">595</span> 1079<span id="L596" rel="#L596">596</span> 1080<span id="L597" rel="#L597">597</span> 1081<span id="L598" rel="#L598">598</span> 1082<span id="L599" rel="#L599">599</span> 1083<span id="L600" rel="#L600">600</span> 1084<span id="L601" rel="#L601">601</span> 1085<span id="L602" rel="#L602">602</span> 1086<span id="L603" rel="#L603">603</span> 1087<span id="L604" rel="#L604">604</span> 1088<span id="L605" rel="#L605">605</span> 1089<span id="L606" rel="#L606">606</span> 1090<span id="L607" rel="#L607">607</span> 1091<span id="L608" rel="#L608">608</span> 1092<span id="L609" rel="#L609">609</span> 1093<span id="L610" rel="#L610">610</span> 1094<span id="L611" rel="#L611">611</span> 1095<span id="L612" rel="#L612">612</span> 1096<span id="L613" rel="#L613">613</span> 1097<span id="L614" rel="#L614">614</span> 1098<span id="L615" rel="#L615">615</span> 1099<span id="L616" rel="#L616">616</span> 1100<span id="L617" rel="#L617">617</span> 1101<span id="L618" rel="#L618">618</span> 1102<span id="L619" rel="#L619">619</span> 1103<span id="L620" rel="#L620">620</span> 1104<span id="L621" rel="#L621">621</span> 1105<span id="L622" rel="#L622">622</span> 1106<span id="L623" rel="#L623">623</span> 1107<span id="L624" rel="#L624">624</span> 1108<span id="L625" rel="#L625">625</span> 1109<span id="L626" rel="#L626">626</span> 1110<span id="L627" rel="#L627">627</span> 1111<span id="L628" rel="#L628">628</span> 1112<span id="L629" rel="#L629">629</span> 1113<span id="L630" rel="#L630">630</span> 1114<span id="L631" rel="#L631">631</span> 1115<span id="L632" rel="#L632">632</span> 1116<span id="L633" rel="#L633">633</span> 1117<span id="L634" rel="#L634">634</span> 1118<span id="L635" rel="#L635">635</span> 1119<span id="L636" rel="#L636">636</span> 1120<span id="L637" rel="#L637">637</span> 1121<span id="L638" rel="#L638">
1121638</span> 1122<span id="L639" rel="#L639">639</span> 1123<span id="L640" rel="#L640">640</span> 1124<span id="L641" rel="#L641">641</span> 1125<span id="L642" rel="#L642">642</span> 1126<span id="L643" rel="#L643">643</span> 1127<span id="L644" rel="#L644">644</span> 1128<span id="L645" rel="#L645">645</span> 1129<span id="L646" rel="#L646">646</span> 1130<span id="L647" rel="#L647">647</span> 1131<span id="L648" rel="#L648">648</span> 1132<span id="L649" rel="#L649">649</span> 1133<span id="L650" rel="#L650">650</span> 1134<span id="L651" rel="#L651">651</span> 1135<span id="L652" rel="#L652">652</span> 1136<span id="L653" rel="#L653">653</span> 1137<span id="L654" rel="#L654">654</span> 1138<span id="L655" rel="#L655">655</span> 1139<span id="L656" rel="#L656">656</span> 1140<span id="L657" rel="#L657">657</span> 1141<span id="L658" rel="#L658">658</span> 1142<span id="L659" rel="#L659">659</span> 1143<span id="L660" rel="#L660">660</span> 1144<span id="L661" rel="#L661">661</span> 1145<span id="L662" rel="#L662">662</span> 1146<span id="L663" rel="#L663">663</span> 1147<span id="L664" rel="#L664">664</span> 1148<span id="L665" rel="#L665">665</span> 1149<span id="L666" rel="#L666">666</span> 1150<span id="L667" rel="#L667">667</span> 1151<span id="L668" rel="#L668">668</span> 1152<span id="L669" rel="#L669">669</span> 1153<span id="L670" rel="#L670">670</span> 1154<span id="L671" rel="#L671">671</span> 1155<span id="L672" rel="#L672">672</span> 1156<span id="L673" rel="#L673">673</span> 1157<span id="L674" rel="#L674">674</span> 1158<span id="L675" rel="#L675">675</span> 1159<span id="L676" rel="#L676">676</span> 1160<span id="L677" rel="#L677">677</span> 1161<span id="L678" rel="#L678">678</span> 1162<span id="L679" rel="#L679">679</span> 1163<span id="L680" rel="#L680">680</span> 1164<span id="L681" rel="#L681">681</span> 1165<span id="L682" rel="#L682">682</span> 1166<span id="L683" rel="#L683">683</span> 1167<span id="L684" rel="#L684">684</span> 1168<span id="L685" rel="#L685">685</span> 1169<span id="L686" rel="#L686">686</span> 1170<span id="L687" rel="#L687">687</span> 1171<span id="L688" rel="#L688">688</span> 1172<span id="L689" rel="#L689">689</span> 1173<span id="L690" rel="#L690">690</span> 1174<span id="L691" rel="#L691">691</span> 1175<span id="L692" rel="#L692">692</span> 1176<span id="L693" rel="#L693">693</span> 1177<span id="L694" rel="#L694">694</span> 1178<span id="L695" rel="#L695">695</span> 1179<span id="L696" rel="#L696">696</span> 1180<span id="L697" rel="#L697">697</span> 1181<span id="L698" rel="#L698">698</span> 1182<span id="L699" rel="#L699">699</span> 1183<span id="L700" rel="#L700">700</span> 1184<span id="L701" rel="#L701">701</span> 1185<span id="L702" rel="#L702">702</span> 1186<span id="L703" rel="#L703">703</span> 1187<span id="L704" rel="#L704">704</span> 1188<span id="L705" rel="#L705">705</span> 1189<span id="L706" rel="#L706">706</span> 1190<span id="L707" rel="#L707">707</span> 1191<span id="L708" rel="#L708">708</span> 1192<span id="L709" rel="#L709">709</span> 1193<span id="L710" rel="#L710">710</span> 1194<span id="L711" rel="#L711">711</span> 1195<span id="L712" rel="#L712">712</span> 1196<span id="L713" rel="#L713">713</span> 1197<span id="L714" rel="#L714">714</span> 1198<span id="L715" rel="#L715">715</span> 1199<span id="L716" rel="#L716">716</span> 1200<span id="L717" rel="#L717">717</span> 1201<span id="L718" rel="#L718">718</span> 1202<span id="L719" rel="#L719">719</span> 1203<span id="L720" rel="#L720">720</span> 1204<span id="L721" rel="#L721">721</span> 1205<span id="L722" rel="#L722">722</span> 1206<span id="L723" rel="#L723">723</span> 1207<span id="L724" rel="#L724">724</span> 1208<span id="L725" rel="#L725">725</span> 1209<span id="L726" rel="#L726">726</span> 1210<span id="L727" rel="#L727">727</span> 1211<span id="L728" rel="#L728">728</span> 1212<span id="L729" rel="#L729">729</span> 1213<span id="L730" rel="#L730">730</span> 1214<span id="L731" rel="#L731">731</span> 1215<span id="L732" rel="#L732">732</span> 1216<span id="L733" rel="#L733">733</span> 1217<span id="L734" rel="#L734">734</span> 1218<span id="L735" rel="#L735">735</span> 1219<span id="L736" rel="#L736">736</span> 1220<span id="L737" rel="#L737">737</span> 1221<span id="L738" rel="#L738">738</span> 1222<span id="L739" rel="#L739">739</span> 1223<span id="L740" rel="#L740">740</span> 1224<span id="L741" rel="#L741">741</span> 1225<span id="L742" rel="#L742">742</span> 1226<span id="L743" rel="#L743">743</span> 1227<span id="L744" rel="#L744">744</span> 1228<span id="L745" rel="#L745">745</span> 1229<span id="L746" rel="#L746">746</span> 1230<span id="L747" rel="#L747">747</span> 1231<span id="L748" rel="#L748">748</span> 1232<span id="L749" rel="#L749">749</span> 1233<span id="L750" rel="#L750">750</span> 1234<span id="L751" rel="#L751">751</span> 1235<span id="L752" rel="#L752">752</span> 1236<span id="L753" rel="#L753">753</span> 1237<span id="L754" rel="#L754">754</span> 1238<span id="L755" rel="#L755">755</span> 1239<span id="L756" rel="#L756">756</span> 1240<span id="L757" rel="#L757">757</span> 1241<span id="L758" rel="#L758">758</span> 1242<span id="L759" rel="#L759">759</span> 1243<span id="L760" rel="#L760">760</span> 1244<span id="L761" rel="#L761">761</span> 1245<span id="L762" rel="#L762">762</span> 1246<span id="L763" rel="#L763">763</span> 1247<span id="L764" rel="#L764">
1247764</span> 1248<span id="L765" rel="#L765">765</span> 1249<span id="L766" rel="#L766">766</span> 1250<span id="L767" rel="#L767">767</span> 1251<span id="L768" rel="#L768">768</span> 1252<span id="L769" rel="#L769">769</span> 1253<span id="L770" rel="#L770">770</span> 1254<span id="L771" rel="#L771">771</span> 1255<span id="L772" rel="#L772">772</span> 1256<span id="L773" rel="#L773">773</span> 1257<span id="L774" rel="#L774">774</span> 1258<span id="L775" rel="#L775">775</span> 1259<span id="L776" rel="#L776">776</span> 1260<span id="L777" rel="#L777">777</span> 1261<span id="L778" rel="#L778">778</span> 1262<span id="L779" rel="#L779">779</span> 1263<span id="L780" rel="#L780">780</span> 1264<span id="L781" rel="#L781">781</span> 1265<span id="L782" rel="#L782">782</span> 1266<span id="L783" rel="#L783">783</span> 1267<span id="L784" rel="#L784">784</span> 1268<span id="L785" rel="#L785">785</span> 1269<span id="L786" rel="#L786">786</span> 1270<span id="L787" rel="#L787">787</span> 1271<span id="L788" rel="#L788">788</span> 1272<span id="L789" rel="#L789">789</span> 1273<span id="L790" rel="#L790">790</span> 1274<span id="L791" rel="#L791">791</span> 1275<span id="L792" rel="#L792">792</span> 1276<span id="L793" rel="#L793">793</span> 1277<span id="L794" rel="#L794">794</span> 1278<span id="L795" rel="#L795">795</span> 1279<span id="L796" rel="#L796">796</span> 1280<span id="L797" rel="#L797">797</span> 1281<span id="L798" rel="#L798">798</span> 1282<span id="L799" rel="#L799">799</span> 1283 1284 </td> 1285 <td class="blob-line-code"> 1286 <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">/**</span></div><div class='line' id='LC2'><span class="cm"> * Uni-Form jQuery Plugin with Validation</span></div><div class='line' id='LC3'><span class="cm"> *</span></div><div class='line' id='LC4'><span class="cm"> * Provides form actions for use with the Uni-Form markup style</span></div><div class='line' id='LC5'><span class="cm"> * This version adds additional support for client side validation</span></div><div class='line' id='LC6'><span class="cm"> *</span></div><div class='line' id='LC7'><span class="cm"> * Author: Ilija Studen for the purposes of Uni-Form</span></div><div class='line' id='LC8'><span class="cm"> *</span></div><div class='line' id='LC9'><span class="cm"> * Modified by Aris Karageorgos to use the parents function</span></div><div class='line' id='LC10'><span class="cm"> *</span></div><div class='line' id='LC11'><span class="cm"> * Modified by Toni Karlheinz to support input fields' text</span></div><div class='line' id='LC12'><span class="cm"> * coloring and removal of their initial values on focus</span></div><div class='line' id='LC13'><span class="cm"> *</span></div><div class='line' id='LC14'><span class="cm"> * Modified by Jason Brumwell for optimization, addition</span></div><div class='line' id='LC15'><span class="cm"> * of valid and invalid states and default data attribues</span></div><div class='line' id='LC16'><span class="cm"> *</span></div><div class='line' id='LC17'><span class="cm"> * Modified by LearningStation to add support for client</span></div><div class='line' id='LC18'><span class="cm"> * side validation routines. The validation routines based on an</span></div><div class='line' id='LC19'><span class="cm"> * open source library of unknown authorship.</span></div><div class='line' id='LC20'><span class="cm"> *</span></div><div class='line' id='LC21'><span class="cm"> * @see http://sprawsm.com/uni-form/</span></div><div class='line' id='LC22'><span class="cm"> * @license MIT http://www.opensource.org/licenses/mit-license.php</span></div><div class='line' id='LC23'><span class="cm"> */</span></div><div class='line' id='LC24'> <span class="cm">/*jslint devel: true, bitwise: true, browser: true, plusplus: true, maxerr: 50, indent: 4 */</span></div><div class='line' id='LC25'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">extended_settings</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC26'><br/></div><div class='line' id='LC27'> <span class="cm">/**</span></div><div class='line' id='LC28'><span class="cm"> * Self reference for closures</span></div><div class='line' id='LC29'><span class="cm"> *</span></div><div class='line' id='LC30'><span class="cm"> * @var object</span></div><div class='line' id='LC31'><span class="cm"> */</span></div><div class='line' id='LC32'> <span class="kd">var</span> <span class="nx">
1286self</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span></div><div class='line' id='LC33'><br/></div><div class='line' id='LC34'> <span class="cm">/**</span></div><div class='line' id='LC35'><span class="cm"> * Errors of all fields by their names</span></div><div class='line' id='LC36'><span class="cm"> *</span></div><div class='line' id='LC37'><span class="cm"> * @var object</span></div><div class='line' id='LC38'><span class="cm"> */</span></div><div class='line' id='LC39'> <span class="kd">var</span> <span class="nx">errors</span> <span class="o">=</span> <span class="p">{};</span></div><div class='line' id='LC40'><br/></div><div class='line' id='LC41'> <span class="cm">/**</span></div><div class='line' id='LC42'><span class="cm"> * Object extending the defaults object</span></div><div class='line' id='LC43'><span class="cm"> *</span></div><div class='line' id='LC44'><span class="cm"> * @var object</span></div><div class='line' id='LC45'><span class="cm"> */</span></div><div class='line' id='LC46'> <span class="kd">var</span> <span class="nx">settings</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span></div><div class='line' id='LC47'> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">defaults</span><span class="p">,</span></div><div class='line' id='LC48'> <span class="nx">extended_settings</span></div><div class='line' id='LC49'> <span class="p">);</span></div><div class='line' id='LC50'><br/></div><div class='line' id='LC51'> <span class="cm">/**</span></div><div class='line' id='LC52'><span class="cm"> * Language abstration string</span></div><div class='line' id='LC53'><span class="cm"> *</span></div><div class='line' id='LC54'><span class="cm"> * to extend, use a script tag to include a file from the localization folder</span></div><div class='line' id='LC55'><span class="cm"> *</span></div><div class='line' id='LC56'><span class="cm"> * @var object</span></div><div class='line' id='LC57'><span class="cm"> */</span></div><div class='line' id='LC58'> <span class="kd">var</span> <span class="nx">i18n_strings</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">language</span><span class="p">;</span></div><div class='line' id='LC59'><br/></div><div class='line' id='LC60'> <span class="cm">/**</span></div><div class='line' id='LC61'><span class="cm"> * Supported validators</span></div><div class='line' id='LC62'><span class="cm"> *</span></div><div class='line' id='LC63'><span class="cm"> * @var Object</span></div><div class='line' id='LC64'><span class="cm"> */</span></div><div class='line' id='LC65'> <span class="k">this</span><span class="p">.</span><span class="nx">validators</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC66'><br/></div><div class='line' id='LC67'> <span class="cm">/**</span></div><div class='line' id='LC68'><span class="cm"> * Get the value for a validator that takes parameters</span></div><div class='line' id='LC69'><span class="cm"> *</span></div><div class='line' id='LC70'><span class="cm"> * @param string name</span></div><div class='line' id='LC71'><span class="cm"> * @param string all classes on element</span></div><div class='line' id='LC72'><span class="cm"> *</span></div><div class='line' id='LC73'><span class="cm"> * @return mixed || null</span></div><div class='line' id='LC74'><span class="cm"> */</span></div><div class='line' id='LC75'> <span class="nx">get_val</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">
1286name</span><span class="p">,</span> <span class="nx">classes</span><span class="p">,</span> <span class="nx">default_value</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC76'> <span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">default_value</span><span class="p">;</span></div><div class='line' id='LC77'> <span class="nx">classes</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">);</span></div><div class='line' id='LC78'> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC79'> <span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="nx">name</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC80'> <span class="k">if</span> <span class="p">((</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">'undefined'</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="s1">'val-'</span> <span class="o">===</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">].</span><span class="nx">substr</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">)))</span> <span class="p">{</span></div><div class='line' id='LC81'> <span class="nx">value</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">].</span><span class="nx">substr</span><span class="p">(</span><span class="mi">4</span><span class="p">),</span> <span class="mi">10</span><span class="p">);</span></div><div class='line' id='LC82'> <span class="k">return</span> <span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC83'> <span class="p">}</span></div><div class='line' id='LC84'> <span class="p">}</span></div><div class='line' id='LC85'> <span class="p">}</span></div><div class='line' id='LC86'> <span class="k">return</span> <span class="nx">value</span><span class="p">;</span></div><div class='line' id='LC87'> <span class="p">},</span></div><div class='line' id='LC88'><br/></div><div class='line' id='LC89'> <span class="cm">/**</span></div><div class='line' id='LC90'><span class="cm"> * Value of field is not empty, whitespace will be counted as empty</span></div><div class='line' id='LC91'><span class="cm"> *</span></div><div class='line' id='LC92'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC93'><span class="cm"> * @param string caption</span></div><div class='line' id='LC94'><span class="cm"> */</span></div><div class='line' id='LC95'> <span class="nx">required</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC96'> <span class="kd">var</span> <span class="nx">
1286name</span><span class="p">;</span></div><div class='line' id='LC97'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">':radio'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC98'> <span class="nx">name</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'name'</span><span class="p">);</span></div><div class='line' id='LC99'> <span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s2">"input[name="</span> <span class="o">+</span> <span class="nx">name</span> <span class="o">+</span> <span class="s2">"]:checked"</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC100'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC101'> <span class="p">}</span></div><div class='line' id='LC102'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'req_radio'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC103'> <span class="p">}</span></div><div class='line' id='LC104'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s1">':checkbox'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC105'> <span class="nx">name</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'name'</span><span class="p">);</span></div><div class='line' id='LC106'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">is</span><span class="p">(</span><span class="s2">":checked"</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC107'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC108'> <span class="p">}</span></div><div class='line' id='LC109'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'req_checkbox'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC110'> <span class="p">}</span></div><div class='line' id='LC111'> <span class="k">if</span> <span class="p">(</span><span class="nx">jQuery</span><span class="p">.</span><span class="nx">trim</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">())</span> <span class="o">===</span> <span class="s1">''</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC112'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'required'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC113'> <span class="p">}</span></div><div class='line' id='LC114'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC115'> <span class="p">},</span></div><div class='line' id='LC116'><br/></div><div class='line' id='LC117'> <span class="cm">/**</span></div><div class='line' id='LC118'><span class="cm"> * Value is shorter than allowed</span></div><div class='line' id='LC119'><span class="cm"> *</span></div><div class='line' id='LC120'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC121'><span class="cm"> * @param sting caption</span></div><div class='line' id='LC122'><span class="cm"> */</span></div><div class='line' id='LC123'> <span class="nx">validateMinLength</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC124'> <span class="kd">var</span> <span class="nx">min_length</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">'validateMinLength'</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC125'><br/></div><div class='line' id='LC126'> <span class="k">if</span> <span class="p">((</span><span class="nx">min_length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">length</span> <span class="o"><</span> <span class="nx">min_length</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC127'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'minlength'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">min_length</span><span class="p">);</span></div><div class='line' id='LC128'> <span class="p">}</span></div><div class='line' id='LC129'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC130'> <span class="p">},</span></div><div class='line' id='LC131'><br/></div><div class='line' id='LC132'> <span class="cm">/**</span></div><div class='line' id='LC133'><span class="cm"> * Value is less than min</span></div><div class='line' id='LC134'><span class="cm"> *</span></div><div class='line' id='LC135'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC136'><span class="cm"> * @param sting caption</span></div><div class='line' id='LC137'><span class="cm"> */</span></div><div class='line' id='LC138'> <span class="nx">validateMin</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC139'> <span class="kd">var</span> <span class="nx">min_val</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">'validateMin'</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC140'><br/></div><div class='line' id='LC141'> <span class="k">if</span> <span class="p">((</span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">(),</span> <span class="mi">10</span><span class="p">)</span> <span class="o"><</span> <span class="nx">min_val</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC142'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'min'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">min_val</span><span class="p">);</span></div><div class='line' id='LC143'> <span class="p">}</span></div><div class='line' id='LC144'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC145'> <span class="p">},</span></div><div class='line' id='LC146'><br/></div><div class='line' id='LC147'> <span class="cm">/**</span></div><div class='line' id='LC148'><span class="cm"> * Value is longer than allowed</span></div><div class='line' id='LC149'><span class="cm"> *</span></div><div class='line' id='LC150'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC151'><span class="cm"> * @param string caption</span></div><div class='line' id='LC152'><span class="cm"> */</span></div><div class='line' id='LC153'> <span class="nx">validateMaxLength</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC154'> <span class="kd">var</span> <span class="nx">max_length</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">'validateMaxLength'</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC155'><br/></div><div class='line' id='LC156'> <span class="k">if</span> <span class="p">((</span><span class="nx">max_length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">length</span> <span class="o">></span> <span class="nx">max_length</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC157'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'maxlength'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">max_length</span><span class="p">);</span></div><div class='line' id='LC158'> <span class="p">}</span></div><div class='line' id='LC159'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC160'> <span class="p">},</span></div><div class='line' id='LC161'><br/></div><div class='line' id='LC162'> <span class="cm">/**</span></div><div class='line' id='LC163'><span class="cm"> * Value is greater than max</span></div><div class='line' id='LC164'><span class="cm"> *</span></div><div class='line' id='LC165'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC166'><span class="cm"> * @param sting caption</span></div><div class='line' id='LC167'><span class="cm"> */</span></div><div class='line' id='LC168'> <span class="nx">validateMax</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC169'> <span class="kd">var</span> <span class="nx">max_val</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">get_val</span><span class="p">(</span><span class="s1">'validateMax'</span><span class="p">,</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span></div><div class='line' id='LC170'><br/></div><div class='line' id='LC171'> <span class="k">if</span> <span class="p">((</span><span class="nb">parseInt</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">(),</span> <span class="mi">10</span><span class="p">)</span> <span class="o">></span> <span class="nx">max_val</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC172'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'max'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">max_val</span><span clas
1286s="p">);</span></div><div class='line' id='LC173'> <span class="p">}</span></div><div class='line' id='LC174'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC175'> <span class="p">},</span></div><div class='line' id='LC176'><br/></div><div class='line' id='LC177'> <span class="cm">/**</span></div><div class='line' id='LC178'><span class="cm"> * Element has same value as that of the target Element</span></div><div class='line' id='LC179'><span class="cm"> *</span></div><div class='line' id='LC180'><span class="cm"> * This does not use the val-{name} format, and instead</span></div><div class='line' id='LC181'><span class="cm"> * is only the name of the element</span></div><div class='line' id='LC182'><span class="cm"> *</span></div><div class='line' id='LC183'><span class="cm"> * class="validateSameAs field_id"</span></div><div class='line' id='LC184'><span class="cm"> *</span></div><div class='line' id='LC185'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC186'><span class="cm"> * @param string caption</span></div><div class='line' id='LC187'><span class="cm"> */</span></div><div class='line' id='LC188'> <span class="nx">validateSameAs</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC189'> <span class="kd">var</span> <span class="nx">classes</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span></div><div class='line' id='LC190'> <span class="nx">target_field</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span></div><div class='line' id='LC191'> <span class="nx">target_field_name</span> <span class="o">=</span> <span class="s1">''</span><span class="p">,</span></div><div class='line' id='LC192'> <span class="nx">target_field_caption</span> <span class="o">=</span> <span class="s1">''</span><span class="p">;</span></div><div class='line' id='LC193'><br/></div><div class='line' id='LC194'> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC195'> <span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="s1">'validateSameAs'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC196'> <span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">'undefined'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC197'> <span class="nx">target_field_name</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">];
1286</span></div><div class='line' id='LC198'> <span class="k">break</span><span class="p">;</span></div><div class='line' id='LC199'> <span class="p">}</span></div><div class='line' id='LC200'> <span class="p">}</span></div><div class='line' id='LC201'> <span class="p">}</span></div><div class='line' id='LC202'><br/></div><div class='line' id='LC203'> <span class="k">if</span> <span class="p">(</span><span class="nx">target_field_name</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC204'> <span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">parents</span><span class="p">(</span><span class="s1">'form:first'</span><span class="p">);</span></div><div class='line' id='LC205'> <span class="nx">target_field</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">(</span><span class="s1">'input[name="'</span> <span class="o">+</span> <span class="nx">target_field_name</span> <span class="o">+</span> <span class="s1">'"]'</span><span class="p">,</span> <span class="nx">form</span><span class="p">);</span></div><div class='line' id='LC206'> <span class="k">if</span> <span class="p">(</span><span class="nx">target_field</span><span class="p">.</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC207'> <span class="k">if</span> <span class="p">(</span><span class="nx">target_field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">!=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">())</span> <span class="p">{</span></div><div class='line' id='LC208'> <span class="nx">target_field_caption</span> <span class="o">=</span> <span class="nx">get_label_text</span><span class="p">(</span><span class="nx">target_field</span><span class="p">);</span></div><div class='line' id='LC209'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'same_as'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">target_field_caption</span><span class="p">);</span></div><div class='line' id='LC210'> <span class="p">}</span></div><div class='line' id='LC211'> <span class="p">}</span></div><div class='line' id='LC212'> <span class="p">}</span></div><div class='line' id='LC213'><br/></div><div class='line' id='LC214'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC215'> <span class="p">},</span></div><div class='line' id='LC216'><br/></div><div class='line' id='LC217'> <span class="cm">/**</span></div><div class='line' id='LC218'><span class="cm"> * Valid email address</span></div><div class='line' id='LC219'><span class="cm"> *</span></div><div class='line' id='LC220'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC221'><span class="cm"> * @param string caption</span></div><div class='line' id='LC222'><span class="cm"> */</span></div><div class='line' id='LC223'> <span class="nx">validateEmail</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC224'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC225'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC226'> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC227'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'email'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC228'> <span class="p">}</span></div><div class='line' id='LC229'> <span class="p">},</span></div><div class='line' id='LC230'><br/></div><div class='line' id='LC231'> <span class="cm">/**</span></div><div class='line' id='LC232'><span class="cm"> * Valid URL (http://,https://,ftp://)</span></div><div class='line' id='LC233'><span class="cm"> *</span></div><div class='line' id='LC234'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC235'><span class="cm"> * @param string caption</span></div><div class='line' id='LC236'><span class="cm"> */</span></div><div class='line' id='LC237'> <span class="nx">validateUrl</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC238'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_\-]*)(\.[A-Z0-9][A-Z0-9_\-]*)+)(:(\d+))?\/?/i</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC239'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC240'> <span class="p">}</span></div><div class='line' id='LC241'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'url'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC242'> <span class="p">},</span></div><div class='line' id='LC243'><br/></div><div class='line' id='LC244'> <span class="cm">/**</span></div><div class='line' id='LC245'><span class="cm"> * Number is only valid value (integers and floats)</span></div><div class='line' id='LC246'><span class="cm"> *</span></div><div class='line' id='LC247'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC248'><span class="cm"> * @param string caption</span></div><div class='line' id='LC249'><span class="cm"> */</span></div><div class='line' id='LC250'> <span class="nx">validateNumber</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC251'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">''</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC252'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC253'> <span class="p">}</span></div><div class='line' id='LC254'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'number'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC255'> <span class="p">},</span></div><div class='line' id='LC256'><br/></div><div class='line' id='LC257'> <span class="cm">/**</span></div><div class='line' id='LC258'><span class="cm"> * Whole numbers are allowed</span></div><div class='line' id='LC259'><span class="cm"> *</span></div><div class='line' id='LC260'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC261'><span class="cm"> * @param string caption</span></div><div class='line' id='LC262'><span class="cm"> */</span></div><div class='line' id='LC263'> <span class="nx">validateInteger</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC264'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/(^-?\d\d*$)/</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">''</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC265'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC266'> <span class="p">}</span></div><div class='line' id='LC267'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'integer'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC268'> <span class="p">},</span></div><div class='line' id='LC269'><br/></div><div class='line' id='LC270'> <span class="cm">/**</span></div><div class='line' id='LC271'><span class="cm"> * Letters only</span></div><div class='line' id='LC272'><span class="cm"> *</span></div><div class='line' id='LC273'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC274'><span class="cm"> * @param string caption</span></div><div class='line' id='LC275'><span class="cm"> */</span></div><div class='line' id='LC276'> <span class="nx">validateAlpha</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC277'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^[a-zA-Z]+$/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC278'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC279'> <span class="p">}</span></div><div class='line' id='LC280'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'alpha'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC281'> <span class="p">},</span></div><div class='line' id='LC282'><br/></div><div class='line' id='LC283'> <span class="cm">/**</span></div><div class='line' id='LC284'><span class="cm"> * Letters and numbers</span></div><div class='line' id='LC285'><span class="cm"> *</span></div><div class='line' id='LC286'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC287'><span class="cm"> * @param string caption</span></div><div class='line' id='LC288'><span class="cm"> */</span></div><div class='line' id='LC289'> <span class="nx">validateAlphaNum</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <spa
1286n class="p">{</span></div><div class='line' id='LC290'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/\W/</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC291'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'alphanum'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC292'> <span class="p">}</span></div><div class='line' id='LC293'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC294'> <span class="p">},</span></div><div class='line' id='LC295'><br/></div><div class='line' id='LC296'> <span class="cm">/**</span></div><div class='line' id='LC297'><span class="cm"> * Simple phrases</span></div><div class='line' id='LC298'><span class="cm"> *</span></div><div class='line' id='LC299'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC300'><span class="cm"> * @param string caption</span></div><div class='line' id='LC301'><span class="cm"> */</span></div><div class='line' id='LC302'> <span class="nx">validatePhrase</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC303'> <span class="k">if</span> <span class="p">((</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s1">''</span><span class="p">)</span> <span class="o">||</span> <span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="sr">/^[\w\d\.\-_\(\)\*'# :,]+$/i</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC304'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC305'> <span class="p">}</span></div><div class='line' id='LC306'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'phrase'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC307'> <span class="p">},</span></div><div class='line' id='LC308'><br/></div><div class='line' id='LC309'> <span class="cm">/**</span></div><div class='line' id='LC310'><span class="cm"> * Phone number</span></div><div class='line' id='LC311'><span class="cm"> *</span></div><div class='line' id='LC312'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC313'><span class="cm"> * @param string caption</span></div><div class='line' id='LC314'><span class="cm"> */</span></div><div class='line' id='LC315'> <span class="nx">validatePhone</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC316'> <span class="kd">var</span> <span class="nx">phoneNumber</span> <span class="o">=</span> <span class="sr">/^\(?(\d{3})\)?[\- ]?(\d{3})[\- ]?(\d{4})$/</span><span class="p">;</span></div><div class='line' id='LC317'> <span class="k">if</span> <span class="p">(</span><span class="nx">phoneNumber</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">()))</span> <span class="p">{</span></div><div class='line' id='LC318'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC319'> <span class="p">}</span></div><div class='line' id='LC320'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'phone'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC321'> <span class="p">},</span></div><div class='line' id='LC322'><br/></div><div class='line' id='LC323'> <span class="cm">/**</span></div><div class='line' id='LC324'><span class="cm"> * Date in MM/DD/YYYY format</span></div><div class='line' id='LC325'><span class="cm"> *</span></div><div class='line' id='LC326'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC327'><span class="cm"> * @param string caption</span></div><div class='line' id='LC328'><span class="cm"> */</span></div><div class='line' id='LC329'> <span class="nx">validateDate</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC330'> <span class="k">if</span> <span class="p">(</span><span class="nx">field</span><span class="p">.</span><span class="nx">val</span><span class="p">().</span><span class="nx">match</span><span class="p">(</span><span class="s1">'([0]?[1-9]|[1][0-2])/([0]?[1-9]|[1|2][0-9]|[3][0|1])/([0-9]{4}|[0-9]{2})$'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC331'> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC332'> <span class="p">}</span></div><div class='line' id='LC333'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'date'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC334'> <span class="p">},</span></div><div class='line' id='LC335'><br/></div><div class='line' id='LC336'> <span class="cm">/**</span></div><div class='line' id='LC337'><span class="cm"> * Callback validator</span></div><div class='line' id='LC338'><span class="cm"> *</span></div><div class='line' id='LC339'><span class="cm"> * Lets you define your own validators. Usage:</span></div><div class='line' id='LC340'><span class="cm"> *</span></div><div class='line' id='LC341'><span class="cm"> * <input name="myinput" class="validateCallback my_callback" /></span></div><div class='line' id='LC342'><span class="cm"> *</span></div><div class='line' id='LC343'><span class="cm"> * This will result in UniForm searching for window.my_callback funciton and</span></div><div class='line' id='LC344'><span class="cm"> * executing it with field and caption arguments. Sample implementation:</span></div><div class='line' id='LC345'><span class="cm"> *</span></div><div class='line' id='LC346'><span class="cm"> * window.my_callback = function (field, caption) {</span></div><div class='line' id='LC347'><span class="cm"> * if (field.val() === '34') {</span></div><div class='line' id='LC348'><span class="cm"> * return true;</span></div><div class='line' id='LC349'><span class="cm"> * } else {</span></div><div class='line' id='LC350'><span class="cm"> * return caption + ' value should be "34"';</span></div><div class='line' id='LC351'><span class="cm"> * }</span></div><div class='line' id='LC352'><span class="cm"> * }</span></div><div class='line' id='LC353'><span class="cm"> *</span></div><div class='line' id='LC354'><span class="cm"> * @param jQuery field</span></div><div class='line' id='LC355'><span class="cm"> * @param caption</span></div><div class='line' id='LC356'><span class="cm"> */</span></div><div class='line' id='LC357'> <span class="nx">validateCallback</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC358'> <span class="kd">var</span> <span class="nx">classes</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'class'</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span></div><div class='line' id='LC359'> <span class="nx">callback_function</span> <span class="o">=</span> <span class="s1">''</span><span class="p">;</span></div><div class='line' id='LC360'><br/></div><div class='line' id='LC361'> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">classes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC362'> <span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="s1">'validateCallback'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC363'> <span class="k">if</span> <span class="p">(</span><span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">'undefined'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC364'> <span class="nx">callback_function</span> <span class="o">=</span> <span class="nx">classes</span><span class="p">[</span><span class="nx">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">];
1286</span></div><div class='line' id='LC365'> <span class="k">break</span><span class="p">;</span></div><div class='line' id='LC366'> <span class="p">}</span></div><div class='line' id='LC367'> <span class="p">}</span></div><div class='line' id='LC368'> <span class="p">}</span></div><div class='line' id='LC369'><br/></div><div class='line' id='LC370'> <span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">]</span> <span class="o">!=</span> <span class="s1">'undefined'</span> <span class="o">&&</span> <span class="p">(</span><span class="k">typeof</span> <span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">]</span> <span class="o">===</span> <span class="s1">'function'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC371'> <span class="k">return</span> <span class="nb">window</span><span class="p">[</span><span class="nx">callback_function</span><span class="p">](</span><span class="nx">field</span><span class="p">,</span> <span class="nx">caption</span><span class="p">);</span></div><div class='line' id='LC372'> <span class="p">}</span></div><div class='line' id='LC373'><br/></div><div class='line' id='LC374'> <span class="k">return</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'callback'</span><span class="p">,</span> <span class="nx">caption</span><span class="p">,</span> <span class="nx">callback_function</span><span class="p">);</span></div><div class='line' id='LC375'> <span class="p">}</span></div><div class='line' id='LC376'><br/></div><div class='line' id='LC377'> <span class="p">};</span></div><div class='line' id='LC378'><br/></div><div class='line' id='LC379'> <span class="cm">/**</span></div><div class='line' id='LC380'><span class="cm"> * get the text of the label that belongs to the field</span></div><div class='line' id='LC381'><span class="cm"> * @param field jQ object, e.g. $("#email")</span></div><div class='line' id='LC382'><span class="cm"> */</span></div><div class='line' id='LC383'> <span class="kd">var</span> <span class="nx">get_label_text</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">field</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC384'> <span class="kd">var</span> <span class="nx">text</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">'label'</span><span class="p">).</span><span class="nx">text</span><span class="p">();</span></div><div class='line' id='LC385'> <span class="k">if</span> <span class="p">(</span><span class="nx">text</span> <span class="o">===</span> <span class="s1">''</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC386'> <span class="nx">text</span> <span class="o">=</span> <span class="nx">field</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">'div.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span><span class="p">).</span><span class="nx">find</span><span class="p">(</span><span class="s1">'label'</span><span class="p">).</span><span class="nx">text</span><span class="p">();</span></div><div class='line' id='LC387'> <span class="p">}</span></div><div class='line' id='LC388'> <span class="k">return</span> <span class="nx">text</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="s1">'*'</span><span class="p">,</span> <span class="s1">''</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="s1">':'</span><span class="p">,</span> <span class="s1">''</span><span class="p">);</span></div><div class='line' id='LC389'>
1286 <span class="p">};</span></div><div class='line' id='LC390'><br/></div><div class='line' id='LC391'> <span class="cm">/**</span></div><div class='line' id='LC392'><span class="cm"> * Simple replacement for i18n + sprintf</span></div><div class='line' id='LC393'><span class="cm"> *</span></div><div class='line' id='LC394'><span class="cm"> * @param string language for for the local i18n object</span></div><div class='line' id='LC395'><span class="cm"> * @param mixed substitution vars</span></div><div class='line' id='LC396'><span class="cm"> *</span></div><div class='line' id='LC397'><span class="cm"> * @return internationalized string</span></div><div class='line' id='LC398'><span class="cm"> */</span></div><div class='line' id='LC399'> <span class="kd">var</span> <span class="nx">i18n</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">lang_key</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC400'> <span class="kd">var</span> <span class="nx">lang_string</span> <span class="o">=</span> <span class="nx">i18n_strings</span><span class="p">[</span><span class="nx">lang_key</span><span class="p">],</span></div><div class='line' id='LC401'> <span class="nx">bits</span> <span class="o">=</span> <span class="nx">lang_string</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">'%'</span><span class="p">),</span></div><div class='line' id='LC402'> <span class="nx">out</span> <span class="o">=</span> <span class="nx">bits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span></div><div class='line' id='LC403'> <span class="nx">re</span> <span class="o">=</span> <span class="sr">/^([ds])(.*)$/</span><span class="p">,</span></div><div class='line' id='LC404'> <span class="nx">p</span><span class="p">;</span></div><div class='line' id='LC405'><br/></div><div class='line' id='LC406'> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">bits</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC407'> <span class="nx">p</span> <span class="o">=</span> <span class="nx">re</span><span class="p">.</span><span class="nx">exec</span><span class="p">(</span><span class="nx">bits</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span></div><div class='line' id='LC408'> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">p</span> <span class="o">||</span> <span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">===</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC409'> <span class="k">continue</span><span class="p">;</span></div><div class='line' id='LC410'> <span class="p">}</span></div><div class='line' id='LC411'> <span class="k">if</span> <span class="p">(</span><span class="nx">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">===</span> <span class="s1">'d'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC412'> <span class="nx">out</span> <span class="o">+=</span> <span class="nb">parseInt</span><span class="p">(</span><span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">],</span> <span class="mi">10</span><span class="p">);</span></div><div class='line' id='LC413'> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">===</span> <span class="s1">'s'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC414'> <span class="nx">out</span> <span class="o">+=</span> <span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">];
1286</span></div><div class='line' id='LC415'> <span class="p">}</span></div><div class='line' id='LC416'> <span class="nx">out</span> <span class="o">+=</span> <span class="nx">p</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span></div><div class='line' id='LC417'> <span class="p">}</span></div><div class='line' id='LC418'> <span class="k">return</span> <span class="nx">out</span><span class="p">;</span></div><div class='line' id='LC419'> <span class="p">};</span></div><div class='line' id='LC420'><br/></div><div class='line' id='LC421'> <span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC422'> <span class="kd">var</span> <span class="nx">form</span> <span class="o">=</span> <span class="nx">jQuery</span><span class="p">(</span><span class="k">this</span><span class="p">);</span></div><div class='line' id='LC423'><br/></div><div class='line' id='LC424'> <span class="cm">/**</span></div><div class='line' id='LC425'><span class="cm"> * Set the results of form validation on the form element</span></div><div class='line' id='LC426'><span class="cm"> *</span></div><div class='line' id='LC427'><span class="cm"> * @param object $input jQuery form element</span></div><div class='line' id='LC428'><span class="cm"> * @param bool valid true if the form value passed all validation</span></div><div class='line' id='LC429'><span class="cm"> * @param string text validation error message to display</span></div><div class='line' id='LC430'><span class="cm"> *</span></div><div class='line' id='LC431'><span class="cm"> * @return null</span></div><div class='line' id='LC432'><span class="cm"> */</span></div><div class='line' id='LC433'> <span class="kd">var</span> <span class="nx">validate</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">$input</span><span class="p">,</span> <span class="nx">valid</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC434'> <span class="kd">var</span> <span class="nx">$p</span> <span class="o">=</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s1">'div.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span><span class="p">)</span></div><div class='line' id='LC435'> <span class="p">.</span><span class="nx">andSelf</span><span class="p">()</span></div><div class='line' id='LC436'> <span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">invalid_class</span><span class="p">,</span> <span class="o">!</span><span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC437'> <span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">error_class</span><span class="p">,</span> <span class="o">!</span><span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC438'> <span class="p">.</span><span class="nx">toggleClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">valid_class</span><span class="p">,</span> <span class="nx">valid</span><span class="p">)</span></div><div class='line' id='LC439'> <span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'p.formHint'</span><span class="p">);</span></div><div class='line' id='LC440'><br/></div><div class='line' id='LC441'> <span class="c1">// store this into the errors array, can be used by the custom callback</span></div><div class='line' id='LC442'> <span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nx">valid</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC443'> <span class="nx">errors</span><span class="p">[</span><span class="nx">
1286name</span><span class="p">]</span> <span class="o">=</span> <span class="nx">text</span><span class="p">;</span></div><div class='line' id='LC444'> <span class="p">}</span></div><div class='line' id='LC445'> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC446'> <span class="k">delete</span> <span class="nx">errors</span><span class="p">[</span><span class="nx">name</span><span class="p">];</span></div><div class='line' id='LC447'> <span class="p">}</span></div><div class='line' id='LC448'><br/></div><div class='line' id='LC449'> <span class="c1">// if the validation failed we'll stash the p help text into the info-data</span></div><div class='line' id='LC450'> <span class="c1">// and then put the error message in it's place.</span></div><div class='line' id='LC451'> <span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nx">valid</span> <span class="o">&&</span> <span class="o">!</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'info-text'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC452'> <span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'info-text'</span><span class="p">,</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">html</span><span class="p">());</span></div><div class='line' id='LC453'> <span class="p">}</span></div><div class='line' id='LC454'> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">valid</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC455'> <span class="nx">text</span> <span class="o">=</span> <span class="nx">$p</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'info-text'</span><span class="p">);</span></div><div class='line' id='LC456'> <span class="p">}</span></div><div class='line' id='LC457'><br/></div><div class='line' id='LC458'> <span class="k">if</span> <span class="p">(</span><span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC459'> <span class="nx">$p</span><span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="nx">text</span><span class="p">);</span></div><div class='line' id='LC460'> <span class="p">}</span></div><div class='line' id='LC461'> <span class="p">};</span></div><div class='line' id='LC462'><br/></div><div class='line' id='LC463'> <span class="cm">/**</span></div><div class='line' id='LC464'><span class="cm"> * Select form fields and attach the higlighter functionality</span></div><div class='line' id='LC465'><span class="cm"> *</span></div><div class='line' id='LC466'><span class="cm"> */</span></div><div class='line' id='LC467'> <span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC468'> <span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span></div><div class='line' id='LC469'> <span class="nx">value</span> <span class="o">=</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">();</span></div><div class='line' id='LC470'><br/></div><div class='line' id='LC471'> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-color'</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">css</span><span class="p">(</span><span class="s1">'color'</span><span class="p">));</span></div><div class='line' id='LC472'><br/></div><div class='line' id='LC473'> <span class="k">if</span> <span class="p">(</span><span class="nx">value</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-value'</span><span class="p">)</span> <span class="o">||</span> <span class="o">!</span> <span class="nx">value</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC474'> <span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">'select'</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s2">"color"</span><span class="p">,</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">default_value_color</span><span class="p">);</span></div><div class='line' id='LC475'> <span class="c1">// Issue 15, we use .attr() here because we want the string value</span></div><div class='line' id='LC476'> <span class="c1">// and the .data() can type cast</span></div><div class='line' id='LC477'> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'data-default-value'</span><span class="p">));</span></div><div class='line' id='LC478'> <span class="p">}</span></div><div class='line' id='LC479'> <span class="p">});
1286</span></div><div class='line' id='LC480'><br/></div><div class='line' id='LC481'> <span class="cm">/**</span></div><div class='line' id='LC482'><span class="cm"> * If we've set ask_on_leave we'll register a handler here</span></div><div class='line' id='LC483'><span class="cm"> *</span></div><div class='line' id='LC484'><span class="cm"> * We need to serialize the form data, wait for a beforeunload,</span></div><div class='line' id='LC485'><span class="cm"> * then serialize and compare for changes</span></div><div class='line' id='LC486'><span class="cm"> *</span></div><div class='line' id='LC487'><span class="cm"> * If they changed things, and haven't submitted, we'll let them</span></div><div class='line' id='LC488'><span class="cm"> * know about it</span></div><div class='line' id='LC489'><span class="cm"> *</span></div><div class='line' id='LC490'><span class="cm"> * Note that you can turn on askOnLeave with either uniform.settings</span></div><div class='line' id='LC491'><span class="cm"> * or with a form class.</span></div><div class='line' id='LC492'><span class="cm"> *</span></div><div class='line' id='LC493'><span class="cm"> */</span></div><div class='line' id='LC494'> <span class="k">if</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">'askOnLeave'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC495'> <span class="kd">var</span> <span class="nx">initial_values</span> <span class="o">=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">();</span></div><div class='line' id='LC496'> <span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="s2">"beforeunload"</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC497'> <span class="k">if</span> <span class="p">((</span><span class="nx">initial_values</span> <span class="o">!=</span> <span class="nx">form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">())</span></div><div class='line' id='LC498'> <span class="o">&&</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">'askOnLeave'</span><span class="p">))</span></div><div class='line' id='LC499'> <span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC500'> <span class="k">return</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">on_leave_callback</span><span class="p">))</span></div><div class='line' id='LC501'> <span class="o">?</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">on_leave_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">)</span></div><div class='line' id='LC502'> <span class="o">:</span> <span class="nx">confirm</span><span class="p">(</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">'on_leave'</span><span class="p">));</span></div><div class='line' id='LC503'> <span class="p">}</span></div><div class='line' id='LC504'> <span class="p">});
1286</span></div><div class='line' id='LC505'> <span class="p">}</span></div><div class='line' id='LC506'><br/></div><div class='line' id='LC507'> <span class="cm">/**</span></div><div class='line' id='LC508'><span class="cm"> * Handle the submission of the form</span></div><div class='line' id='LC509'><span class="cm"> *</span></div><div class='line' id='LC510'><span class="cm"> * Tasks</span></div><div class='line' id='LC511'><span class="cm"> * * Remove any default values from the form</span></div><div class='line' id='LC512'><span class="cm"> * * If prevent_submit is set true, return false if</span></div><div class='line' id='LC513'><span class="cm"> * there are outstanding errors in the form</span></div><div class='line' id='LC514'><span class="cm"> *</span></div><div class='line' id='LC515'><span class="cm"> * Todo</span></div><div class='line' id='LC516'><span class="cm"> * * it would be novel to use prevent_submit to disable</span></div><div class='line' id='LC517'><span class="cm"> * the submit button in the blur handler</span></div><div class='line' id='LC518'><span class="cm"> *</span></div><div class='line' id='LC519'><span class="cm"> * @return bool</span></div><div class='line' id='LC520'><span class="cm"> */</span></div><div class='line' id='LC521'> <span class="nx">form</span><span class="p">.</span><span class="nx">submit</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC522'> <span class="kd">var</span> <span class="nx">return_val</span><span class="p">,</span></div><div class='line' id='LC523'> <span class="nx">callback_result</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC524'><br/></div><div class='line' id='LC525'> <span class="c1">// in the case of a previously failed submit, we'll remove our marker</span></div><div class='line' id='LC526'> <span class="nx">form</span><span class="p">.</span><span class="nx">removeClass</span><span class="p">(</span><span class="s1">'failedSubmit'</span><span class="p">);</span></div><div class='line' id='LC527'><br/></div><div class='line' id='LC528'> <span class="c1">// prevent the ask_on_leave from firing</span></div><div class='line' id='LC529'> <span class="nx">settings</span><span class="p">.</span><span class="nx">ask_on_leave</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span></div><div class='line' id='LC530'> <span class="nx">form</span><span class="p">.</span><span class="nx">removeClass</span><span class="p">(</span><span class="s1">'askOnLeave'</span><span class="p">);</span></div><div class='line' id='LC531'><br/></div><div class='line' id='LC532'> <span class="c1">// remove the default values from the val() where they were being displayed</span></div><div class='line' id='LC533'> <span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC534'> <span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-value'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC535'> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">val</span><span class="p">(</span><span class="s1">''</span><span class="p">);</span></div><div class='line' id='LC536'> <span class="p">}</span></div><div class='line' id='LC537'> <span class="p">});
1286</span></div><div class='line' id='LC538'><br/></div><div class='line' id='LC539'> <span class="c1">// traverse and revalidate making sure that we haven't missed any fields</span></div><div class='line' id='LC540'> <span class="c1">// perhaps if a field was filled in before uniform was initialized</span></div><div class='line' id='LC541'> <span class="c1">// or if blur failed to fire correctly</span></div><div class='line' id='LC542'> <span class="c1">// You can turn on prevent_submit with either a class or with the uniform.settings</span></div><div class='line' id='LC543'> <span class="k">if</span> <span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit</span> <span class="o">||</span> <span class="nx">form</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">'preventSubmit'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC544'> <span class="c1">// use blur to run the validators on each field</span></div><div class='line' id='LC545'> <span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">).</span><span class="nx">each</span><span class="p">(</span><span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC546'> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">).</span><span class="nx">blur</span><span class="p">();</span></div><div class='line' id='LC547'> <span class="p">});</span></div><div class='line' id='LC548'><br/></div><div class='line' id='LC549'> <span class="c1">// if we have a submit callback, we'll give it a chance to inspect the data now</span></div><div class='line' id='LC550'> <span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">submit_callback</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC551'> <span class="nx">callback_result</span> <span class="o">=</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">submit_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">);</span></div><div class='line' id='LC552'> <span class="p">}</span></div><div class='line' id='LC553'><br/></div><div class='line' id='LC554'> <span class="c1">// if there are any error messages</span></div><div class='line' id='LC555'> <span class="k">if</span> <span class="p">(</span><span class="nx">form</span></div><div class='line' id='LC556'> <span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">invalid_class</span><span class="p">)</span></div><div class='line' id='LC557'> <span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s1">'.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">error_class</span><span class="p">).</span><span class="nx">length</span></div><div class='line' id='LC558'> <span class="o">||</span> <span class="o">!</span><span class="nx">callback_result</span></div><div class='line' id='LC559'> <span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC560'> <span class="nx">return_val</span> <span class="o">=</span> <span class="p">(</span><span class="nx">$</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit_callback</span><span class="p">))</span></div><div class='line' id='LC561'> <span class="o">?</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">prevent_submit_callback</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'submit_msg'</span><span class="p">),</span> <span class="p">[</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">'submit_help'</span><span class="p">)])</span></div><div class='line' id='LC562'> <span class="o">:</span> <span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormError</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">i18n</span><span class="p">(</span><span class="s1">'submit_msg'</span><span class="p">),</span> <span class="p">[</span><span class="nx">i18n</span><span class="p">(</span><span class="s1">'submit_help'</span><span class="p">)]);</span></div><div class='line' id='LC563'> <span class="p">}</span> <span class="c1">// end form error counting</span></div><div class='line' id='LC564'><br/></div><div class='line' id='LC565'> <span class="p">}</span> <span class="c1">// end preventSubmit</span></div><div class='line' id='LC566'> <span class="k">else</span> <span class="p">{</span></div><div class='line' id='LC567'> <span class="c1">// We aren't preventing the submission when there are errors, so this function must</span></div><div class='line' id='LC568'> <span class="c1">// return true and allow the form to submit.</span></div><div class='line' id='LC569'> <span class="nx">return_val</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC570'> <span class="p">}</span></div><div class='line' id='LC571'><br/></div><div class='line' id='LC572'> <span class="c1">// qUnit needs to run this submit function, and still prevent the submit.</span></div><div class='line' id='LC573'> <span class="c1">// This isn't ideal, but it prevents us from having to trap events</span></div><div class='line' id='LC574'> <span class="k">if</span> <span class="p">(</span><span class="nx">form</span><span class="p">.</span><span class="nx">parents</span><span class="p">(</span><span class="s1">'#qunit-fixture'</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC575'> <span class="nx">return_val</span> <span class="o">=</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC576'> <span class="p">}</span></div><div class='line' id='LC577'><br/></div><div class='line' id='LC578'> <span class="k">if</span> <span class="p">(</span><span class="nx">return_val</span> <span class="o">===</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC579'> <span class="nx">form</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="s1">'failedSubmit'</span><span class="p">);</span></div><div class='line' id='LC580'> <span class="p">}</span></div><div class='line' id='LC581'><br/></div><div class='line' id='LC582'> <span class="k">return</span> <span class="nx">return_val</span><span class="p">;</span></div><div class='line' id='LC583'> <span class="p">});</span></div><div class='line' id='LC584'><br/></div><div class='line' id='LC585'> <span class="cm">/**</span></div><div class='line' id='LC586'><span class="cm"> * Set the form focus class</span></div><div class='line' id='LC587'><span class="cm"> *</span></div><div class='line' id='LC588'><span class="cm"> * Remove any classes other than the focus class and hide the default label text</span></div><div class='line' id='LC589'><span class="cm"> *</span></div><div class='line' id='LC590'><span class="cm"> */</span></div><div class='line' id='LC591'> <span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">'focus'</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC592'> <span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">).</span><span class="nx">removeClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC593'><br/></div><div class='line' id='LC594'> <span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">);</span></div><div class='line' id='LC595'><br/></div><div class='line' id='LC596'> <span class="nx">$input</span><span class="p">.</span><span class="nx">parents</span><span class="p">().</span><span class="nx">filter</span><span class="p">(</span><span class="s1">'.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">holder_class</span> <span class="o">+</span> <span class="s1">':first'</span><span class="p">)</span></div><div class='line' id='LC597'> <span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC598'><br/></div><div class='line' id='LC599'> <span class="k">if</span> <span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-value'</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC600'> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="s1">''</span><span class="p">);</span></div><div class='line' id='LC601'> <span class="p">}</span></div><div class='line' id='LC602'><br/></div><div class='line' id='LC603'> <span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">'select'</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s1">'color'</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-color'</span><span class="p">));</span></div><div class='line' id='LC604'> <span class="p">});
1286</span></div><div class='line' id='LC605'><br/></div><div class='line' id='LC606'> <span class="cm">/**</span></div><div class='line' id='LC607'><span class="cm"> * Validate a form field on the blur event</span></div><div class='line' id='LC608'><span class="cm"> *</span></div><div class='line' id='LC609'><span class="cm"> * Search the classnames on the element for the names of</span></div><div class='line' id='LC610'><span class="cm"> * validators, and run them as we find them</span></div><div class='line' id='LC611'><span class="cm"> *</span></div><div class='line' id='LC612'><span class="cm"> * If the validators fail, we trigger either 'success' or 'error' events</span></div><div class='line' id='LC613'><span class="cm"> *</span></div><div class='line' id='LC614'><span class="cm"> */</span></div><div class='line' id='LC615'> <span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">'blur'</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC616'> <span class="kd">var</span> <span class="nx">$input</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span></div><div class='line' id='LC617'> <span class="nx">has_validation</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC618'> <span class="nx">validator</span><span class="p">,</span></div><div class='line' id='LC619'> <span class="nx">label</span> <span class="o">=</span> <span class="nx">get_label_text</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">));</span></div><div class='line' id='LC620'><br/></div><div class='line' id='LC621'> <span class="c1">// remove focus from form element</span></div><div class='line' id='LC622'> <span class="nx">form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">'.'</span> <span class="o">+</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">).</span><span class="nx">removeClass</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">focused_class</span><span class="p">);</span></div><div class='line' id='LC623'><br/></div><div class='line' id='LC624'> <span class="c1">// (if empty or equal to default value) AND not required</span></div><div class='line' id='LC625'> <span class="k">if</span> <span class="p">((</span><span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="s2">""</span> <span class="o">||</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">()</span> <span class="o">===</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-value'</span><span class="p">))</span></div><div class='line' id='LC626'> <span class="o">&&</span> <span class="o">!</span><span class="nx">$input</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="s1">'required'</span><span class="p">)</span></div><div class='line' id='LC627'> <span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC628'> <span class="nx">$input</span><span class="p">.</span><span class="nx">not</span><span class="p">(</span><span class="s1">'select'</span><span class="p">).</span><span class="nx">css</span><span class="p">(</span><span class="s2">"color"</span><span class="p">,</span> <span class="nx">settings</span><span class="p">.</span><span class="nx">default_value_color</span><span class="p">);</span></div><div class='line' id='LC629'> <span class="nx">$input</span><span class="p">.</span><span class="nx">val</span><span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-value'</span><span class="p">));</span></div><div class='line' id='LC630'> <span class="k">return</span><span class="p">;</span></div><div class='line' id='LC631'> <span class="p">}</span></div><div class='line' id='LC632'><br/></div><div class='line' id='LC633'> <span class="c1">// run the validation and if they all pass, we mark the color and move on</span></div><div class='line' id='LC634'> <span class="k">for</span> <span class="p">(</span><span class="nx">validator</span> <span class="k">in</span> <span class="nx">
1286self</span><span class="p">.</span><span class="nx">validators</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC635'> <span class="k">if</span> <span class="p">(</span><span class="nx">$input</span><span class="p">.</span><span class="nx">hasClass</span><span class="p">(</span><span class="nx">validator</span><span class="p">))</span> <span class="p">{</span></div><div class='line' id='LC636'> <span class="nx">has_validation</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span></div><div class='line' id='LC637'> <span class="kd">var</span> <span class="nx">validation_result</span> <span class="o">=</span> <span class="nx">self</span><span class="p">.</span><span class="nx">validators</span><span class="p">[</span><span class="nx">validator</span><span class="p">](</span><span class="nx">$input</span><span class="p">,</span> <span class="nx">label</span><span class="p">);</span></div><div class='line' id='LC638'> <span class="k">if</span> <span class="p">(</span><span class="k">typeof</span><span class="p">(</span><span class="nx">validation_result</span><span class="p">)</span> <span class="o">===</span> <span class="s1">'string'</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC639'> <span class="nx">$input</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">'error'</span><span class="p">,</span> <span class="nx">validation_result</span><span class="p">);</span></div><div class='line' id='LC640'> <span class="k">return</span><span class="p">;</span></div><div class='line' id='LC641'> <span class="p">}</span></div><div class='line' id='LC642'> <span class="p">}</span></div><div class='line' id='LC643'> <span class="p">}</span></div><div class='line' id='LC644'><br/></div><div class='line' id='LC645'> <span class="c1">// if it had validation and we didn't return above,</span></div><div class='line' id='LC646'> <span class="c1">// then all validation passed</span></div><div class='line' id='LC647'> <span class="k">if</span> <span class="p">(</span><span class="nx">has_validation</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC648'> <span class="nx">$input</span><span class="p">.</span><span class="nx">trigger</span><span class="p">(</span><span class="s1">'success'</span><span class="p">);</span></div><div class='line' id='LC649'> <span class="p">}</span></div><div class='line' id='LC650'><br/></div><div class='line' id='LC651'> <span class="c1">// return the color to the default</span></div>
1286<div class='line' id='LC652'> <span class="nx">$input</span><span class="p">.</span><span class="nx">css</span><span class="p">(</span><span class="s1">'color'</span><span class="p">,</span> <span class="nx">$input</span><span class="p">.</span><span class="nx">data</span><span class="p">(</span><span class="s1">'default-color'</span><span class="p">));</span></div><div class='line' id='LC653'> <span class="k">return</span><span class="p">;</span></div><div class='line' id='LC654'> <span class="p">});</span></div><div class='line' id='LC655'><br/></div><div class='line' id='LC656'> <span class="cm">/**</span></div><div class='line' id='LC657'><span class="cm"> * Handle a validation error in the form element</span></div><div class='line' id='LC658'><span class="cm"> *</span></div><div class='line' id='LC659'><span class="cm"> * This will set the field to have the error marker</span></div><div class='line' id='LC660'><span class="cm"> * and update the warning text</span></div><div class='line' id='LC661'><span class="cm"> *</span></div><div class='line' id='LC662'><span class="cm"> * @param event e</span></div><div class='line' id='LC663'><span class="cm"> * @param string validation message</span></div><div class='line' id='LC664'><span class="cm"> */</span></div><div class='line' id='LC665'> <span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">'error'</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC666'> <span class="nx">validate</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">text</span><span class="p">);</span></div><div class='line' id='LC667'> <span class="p">});</span></div><div class='line' id='LC668'><br/></div><div class='line' id='LC669'> <span class="cm">/**</span></div><div class='line' id='LC670'><span class="cm"> * Handle a succesful validation in the form element</span></div><div class='line' id='LC671'><span class="cm"> *</span></div><div class='line' id='LC672'><span class="cm"> * Remove any error messages and set the validation</span></div><div class='line' id='LC673'><span class="cm"> * marker to be success</span></div><div class='line' id='LC674'><span class="cm"> *</span></div><div class='line' id='LC675'><span class="cm"> * @param event e</span></div><div class='line' id='LC676'><span class="cm"> * @param string unused</span></div><div class='line' id='LC677'><span class="cm"> */</span></div><div class='line' id='LC678'> <span class="nx">form</span><span class="p">.</span><span class="nx">delegate</span><span class="p">(</span><span class="nx">settings</span><span class="p">.</span><span class="nx">field_selector</span><span class="p">,</span> <span class="s1">'success'</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">e</span><span class="p">,</span> <span class="nx">text</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC679'> <span class="nx">validate</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="k">this</span><span class="p">),</span> <span class="kc">true</span><span class="p">);</span></div><div class='line' id='LC680'> <span class="p">});
1286</span></div><div class='line' id='LC681'><br/></div><div class='line' id='LC682'> <span class="c1">// Issue 9: HTML5 autofocus elements</span></div><div class='line' id='LC683'> <span class="c1">// When the browser focuses, it happens before Uni-Form, and so we need</span></div><div class='line' id='LC684'> <span class="c1">// the manually run the focus event here to deal with style changes</span></div><div class='line' id='LC685'> <span class="c1">// and any handling of the default data</span></div><div class='line' id='LC686'> <span class="nx">$</span><span class="p">(</span><span class="s1">'input[autofocus]:first'</span><span class="p">).</span><span class="nx">focus</span><span class="p">();</span></div><div class='line' id='LC687'><br/></div><div class='line' id='LC688'> <span class="p">});</span> <span class="c1">// end for each form</span></div><div class='line' id='LC689'><span class="p">};</span></div><div class='line' id='LC690'><br/></div><div class='line' id='LC691'><span class="cm">/**</span></div><div class='line' id='LC692'><span class="cm"> * Uni-Form form validation error</span></div><div class='line' id='LC693'><span class="cm"> *</span></div><div class='line' id='LC694'><span class="cm"> * @param object jQuery form element</span></div><div class='line' id='LC695'><span class="cm"> * @param string title of the form error</span></div><div class='line' id='LC696'><span class="cm"> * @param array list of error messages to show</span></div><div class='line' id='LC697'><span class="cm"> *</span></div><div class='line' id='LC698'><span class="cm"> * @return false</span></div><div class='line' id='LC699'><span class="cm"> */</span></div><div class='line' id='LC700'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormError</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">title</span><span class="p">,</span> <span class="nx">messages</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC701'> <span class="kd">var</span> <span class="nx">m</span><span class="p">,</span> <span class="nx">$message</span><span class="p">;</span></div><div class='line' id='LC702'><br/></div><div class='line' id='LC703'> <span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">'#errorMsg'</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC704'> <span class="nx">$</span><span class="p">(</span><span class="s1">'#errorMsg'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC705'> <span class="p">}</span></div><div class='line' id='LC706'><br/></div><div class='line' id='LC707'> <span class="nx">$message</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">'<div />'</span><span class="p">)</span></div><div class='line' id='LC708'> <span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="s1">'errorMsg'</span><span class="p">)</span></div><div class='line' id='LC709'> <span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="s2">"<h3>"</span> <span class="o">+</span> <span class="nx">title</span> <span class="o">+</span> <span class="s2">"</h3>"</span><span class="p">);</span></div><div class='line' id='LC710'><br/></div><div class='line' id='LC711'> <span class="k">if</span> <span class="p">(</span><span class="nx">messages</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC712'> <span class="nx">$message</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">'<ol />'</span><span class="p">));</span></div><div class='line' id='LC713'> <span class="k">for</span> <span class="p">(</span><span class="nx">m</span> <span class="k">in</span> <span class="nx">messages</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC714'> <span class="nx">$</span><span class="p">(</span><span class="s1">'ol'</span><span class="p">,</span> <span class="nx">$message</span><span class="p">).</span><span class="nx">append</span><span class="p">(</span></div><div class='line' id='LC715'> <span class="nx">$</span><span class="p">(</span><span class="s1">'<li />'</span><span class="p">).</span><span class="nx">text</span><span class="p">(</span><span class="nx">messages</span><span class="p">[</span><span class="nx">m</span><span class="p">])</span></div><div class='line' id='LC716'> <span class="p">);</span></div><div class='line' id='LC717'> <span class="p">}</span></div><div class='line' id='LC718'> <span class="p">}</span></div><div class='line' id='LC719'><br/></div><div class='line' id='LC720'> <span class="nx">form</span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="nx">$message</span><span class="p">);</span></div><div class='line' id='LC721'><br/></div><div class='line' id='LC722'> <span class="nx">$</span><span class="p">(</span><span class="s1">'html, body'</span><span class="p">).</span><span class="nx">animate</span><span class="p">({</span></div><div class='line' id='LC723'> <span class="nx">scrollTop</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span></div><div class='line' id='LC724'> <span class="p">},</span> <span class="mi">500</span><span class="p">);</span></div><div class='line' id='LC725'><br/></div><div class='line' id='LC726'> <span class="nx">$</span><span class="p">(</span><span class="s1">'#errorMsg'</span><span class="p">).</span><span class="nx">slideDown</span><span class="p">();</span></div><div class='line' id='LC727'> <span class="k">return</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC728'><span class="p">};</span></div><div class='line' id='LC729'><br/></div><div class='line' id='LC730'><span class="cm">/**</span></div><div class='line' id='LC731'><span class="cm"> * Uni-Form form success message</span></div><div class='line' id='LC732'><span class="cm"> *</span></div><div class='line' id='LC733'><span class="cm"> * @param object jQuery form element</span></div><div class='line' id='LC734'><span class="cm"> * @param string title of the success message</span></div><div class='line' id='LC735'><span class="cm"> *</span></div><div class='line' id='LC736'><span class="cm"> * @return false</span></div><div class='line' id='LC737'><span class="cm"> */</span></div><div class='line' id='LC738'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">showFormSuccess</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">title</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC739'> <span class="kd">var</span> <span class="nx">$message</span><span class="p">;</span></div><div class='line' id='LC740'><br/></div><div class='line' id='LC741'> <span class="k">if</span> <span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">'#okMsg'</span><span class="p">).</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span></div><div class='line' id='LC742'> <span class="nx">$</span><span class="p">(</span><span class="s1">'#okMsg'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span></div><div class='line' id='LC743'> <span class="p">}</span></div><div class='line' id='LC744'> <span class="nx">$message</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">'<div />'</span><span class="p">)</span></div><div class='line' id='LC745'> <span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="s1">'okMsg'</span><span class="p">)</span></div><div class='line' id='LC746'> <span class="p">.</span><span class="nx">html</span><span class="p">(</span><span class="s2">"<h3>"</span> <span class="o">+</span> <span class="nx">title</span> <span class="o">+</span> <span class="s2">"</h3>"</span><span class="p">);</span></div><div class='line' id='LC747'> <span class="nx">form</span><span class="p">.</span><span class="nx">prepend</span><span class="p">(</span><span class="nx">$message</span><span class="p">);</span></div><div class='line' id='LC748'> <span class="nx">$</span><span class="p">(</span><span class="s1">'html, body'</span><span class="p">).</span><span class="nx">animate</span><span class="p">({</span></div><div class='line' id='LC749'> <span class="nx">scrollTop</span><span class="o">:</span> <span class="nx">form</span><span class="p">.</span><span class="nx">offset</span><span class="p">().</span><span class="nx">top</span></div><div class='line' id='LC750'> <span class="p">},</span> <span class="mi">500</span><span class="p">);</span></div><div class='line' id='LC751'> <span class="nx">$</span><span class="p">(</span><span class="s1">'#okMsg'</span><span class="p">).</span><span class="nx">slideDown</span><span class="p">();</span></div><div class='line' id='LC752'> <span class="k">return</span> <span class="kc">
1286false</span><span class="p">;</span></div><div class='line' id='LC753'><span class="p">};</span></div><div class='line' id='LC754'><br/></div><div class='line' id='LC755'><span class="cm">/**</span></div><div class='line' id='LC756'><span class="cm"> * Internationalized language strings for validation messages</span></div><div class='line' id='LC757'><span class="cm"> */</span></div><div class='line' id='LC758'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">language</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC759'> <span class="nx">required</span> <span class="o">:</span> <span class="s1">'%s is required'</span><span class="p">,</span></div><div class='line' id='LC760'> <span class="nx">req_radio</span> <span class="o">:</span> <span class="s1">'Please make a selection'</span><span class="p">,</span></div><div class='line' id='LC761'> <span class="nx">req_checkbox</span> <span class="o">:</span> <span class="s1">'You must select this checkbox to continue'</span><span class="p">,</span></div><div class='line' id='LC762'> <span class="nx">minlength</span> <span class="o">:</span> <span class="s1">'%s should be at least %d characters long'</span><span class="p">,</span></div><div class='line' id='LC763'> <span class="nx">min</span> <span class="o">:</span> <span class="s1">'%s should be greater than or equal to %d'</span><span class="p">,</span></div><div class='line' id='LC764'> <span class="nx">maxlength</span> <span class="o">:</span> <span class="s1">'%s should not be longer than %d characters'</span><span class="p">,</span></div><div class='line' id='LC765'> <span class="nx">max</span> <span class="o">:</span> <span class="s1">'%s should be less than or equal to %d'</span><span class="p">,</span></div><div class='line' id='LC766'> <span class="nx">same_as</span> <span class="o">:</span> <span class="s1">'%s is expected to be same as %s'</span><span class="p">,</span></div><div class='line' id='LC767'> <span class="nx">email</span> <span class="o">:</span> <span class="s1">'%s is not a valid email address'</span><span class="p">,</span></div><div class='line' id='LC768'> <span class="nx">
1286url</span> <span class="o">:</span> <span class="s1">'%s is not a valid URL'</span><span class="p">,</span></div><div class='line' id='LC769'> <span class="nx">number</span> <span class="o">:</span> <span class="s1">'%s needs to be a number'</span><span class="p">,</span></div><div class='line' id='LC770'> <span class="nx">integer</span> <span class="o">:</span> <span class="s1">'%s needs to be a whole number'</span><span class="p">,</span></div><div class='line' id='LC771'> <span class="nx">alpha</span> <span class="o">:</span> <span class="s1">'%s should contain only letters (without special characters or numbers)'</span><span class="p">,</span></div><div class='line' id='LC772'> <span class="nx">alphanum</span> <span class="o">:</span> <span class="s1">'%s should contain only numbers and letters (without special characters)'</span><span class="p">,</span></div><div class='line' id='LC773'> <span class="nx">phrase</span> <span class="o">:</span> <span class="s1">'%s should contain only alphabetic characters, numbers, spaces, and the following: . , - _ () * # :'</span><span class="p">,</span></div><div class='line' id='LC774'> <span class="nx">phone</span> <span class="o">:</span> <span class="s1">'%s should be a phone number'</span><span class="p">,</span></div><div class='line' id='LC775'> <span class="nx">date</span> <span class="o">:</span> <span class="s1">'%s should be a date (mm/dd/yyyy)'</span><span class="p">,</span></div><div class='line' id='LC776'> <span class="nx">callback</span> <span class="o">:</span> <span class="s1">'Failed to validate %s field. Validator function (%s) is not defined!'</span><span class="p">,</span></div><div class='line' id='LC777'> <span class="nx">on_leave</span> <span class="o">:</span> <span class="s1">'Are you sure you want to leave this page without saving this form?'</span><span class="p">,</span></div><div class='line' id='LC778'> <span class="nx">submit_msg</span> <span class="o">:</span> <span class="s1">'Sorry, this form needs corrections.'</span><span class="p">,</span></div><div class='line' id='LC779'> <span class="nx">submit_help</span> <span class="o">:</span> <span class="s1">'Please see the items marked below.'</span><span class="p">,</span></div><div class='line' id='LC780'> <span class="nx">submit_success</span><span class="o">:</span> <span class="s1">'Thank you, this form has been sent.'</span></div><div class='line' id='LC781'><span class="p">};</span></div><div class='line' id='LC782'><br/></div><div class='line' id='LC783'><span class="cm">/**</span></div><div class='line' id='LC784'><span class="cm"> * See the validation.md file for more information about these options</span></div><div class='line' id='LC785'><span class="cm"> */</span></div><div class='line' id='LC786'><span class="nx">jQuery</span><span class="p">.</span><span class="nx">fn</span><span class="p">.</span><span class="nx">uniform</span><span class="p">.</span><span class="nx">defaults</span> <span class="o">=</span> <span class="p">{</span></div><div class='line' id='LC787'> <span class="nx">submit_callback</span> <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC788'> <span class="nx">prevent_submit</span> <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC789'> <span class="nx">prevent_submit_callback</span> <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC790'> <span class="nx">ask_on_leave</span>
1286 <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC791'> <span class="nx">on_leave_callback</span> <span class="o">:</span> <span class="kc">false</span><span class="p">,</span></div><div class='line' id='LC792'> <span class="nx">valid_class</span> <span class="o">:</span> <span class="s1">'valid'</span><span class="p">,</span></div><div class='line' id='LC793'> <span class="nx">invalid_class</span> <span class="o">:</span> <span class="s1">'invalid'</span><span class="p">,</span></div><div class='line' id='LC794'> <span class="nx">error_class</span> <span class="o">:</span> <span class="s1">'error'</span><span class="p">,</span></div><div class='line' id='LC795'> <span class="nx">focused_class</span> <span class="o">:</span> <span class="s1">'focused'</span><span class="p">,</span></div><div class='line' id='LC796'> <span class="nx">holder_class</span> <span class="o">:</span> <span class="s1">'ctrlHolder'</span><span class="p">,</span></div><div class='line' id='LC797'> <span class="nx">field_selector</span> <span class="o">:</span> <span class="s1">'input, textarea, select'</span><span class="p">,</span></div><div class='line' id='LC798'> <span class="nx">default_value_color</span> <span class="o">:</span> <span class="s2">"#AFAFAF"</span></div><div class='line' id='LC799'><span class="p">};</span></div></pre></div> 1287 </td> 1288 </tr> 1289 </table> 1290 </div> 1291 1292 </div> 1293</div> 1294 1295<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" class="js-jump-to-line" style="display:none">Jump to Line</a> 1296<div id="jump-to-line" style="display:none"> 1297 <form accept-charset="UTF-8" class="js-jump-to-line-form"> 1298 <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line…" autofocus> 1299 <button type="submit" class="button">Go</button> 1300 </form> 1301</div> 1302 1303 </div> 1304 1305 </div><!-- /.repo-container --> 1306 <div class="modal-backdrop"></div> 1307 </div><!-- /.container --> 1308 </div><!-- /.site --> 1309 1310 1311 </div><!-- /.wrapper --> 1312 1313 <div class="container"> 1314 <div class="site-footer"> 1315 <ul class="site-footer-links right"> 1316 <li><a href="https://status.github.com/">Status</a></li> 1317 <li><a href="http://developer.github.com">API</a></li> 1318 <li><a href="http://training.github.com">Training</a></li> 1319 <li><a href="http://shop.github.com">Shop</a></li> 1320 <li><a href="/blog">Blog</a></li> 1321 <li><a href="/about">About</a></li> 1322 1323 </ul> 1324 1325 <a href="/"> 1326 <span class="mega-octicon octicon-mark-github"></span> 1327 </a> 1328 1329 <ul class="site-footer-links"> 1330 <li>© 2013 <span title="0.02366s from github-fe119-cp1-prd.iad.github.net">GitHub</span>, Inc.</li> 1331 <li><a href="/site/terms">Terms</a></li> 1332 <li><a href="/site/privacy">Privacy</a></li> 1333 <li><a href="/security">Security</a></li> 1334 <li><a href="/contact">Contact</a></li> 1335 </ul> 1336 </div><!-- /.site-footer --> 1337</div><!-- /.container --> 1338 1339 1340 <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay"> 1341 <div class="fullscreen-container js-fullscreen-container"> 1342 <div class="textarea-wrap"> 1343 <textarea name="fullscreen-contents" id="fullscreen-contents" class="js-fullscreen-contents" placeholder="" data-suggester
1343="fullscreen_suggester"></textarea> 1344 <div class="suggester-container"> 1345 <div class="suggester fullscreen-suggester js-navigation-container" id="fullscreen_suggester" 1346 data-url="/draganbabic/uni-form/suggestions/commit"> 1347 </div> 1348 </div> 1349 </div> 1350 </div> 1351 <div class="fullscreen-sidebar"> 1352 <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped leftwards" title="Exit Zen Mode"> 1353 <span class="mega-octicon octicon-screen-normal"></span> 1354 </a> 1355 <a href="#" class="theme-switcher js-theme-switcher tooltipped leftwards" 1356 title="Switch themes"> 1357 <span class="octicon octicon-color-mode"></span> 1358 </a> 1359 </div> 1360</div> 1361 1362 1363 1364 <div id="ajax-error-message" class="flash flash-error"> 1365 <span class="octicon octicon-alert"></span> 1366 <a href="#" class="octicon octicon-remove-close close ajax-error-dismiss"></a> 1367 Something went wrong with that request. Please try again. 1368 </div> 1369 1370 </body> 1371</html> 1372
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.