From 7cc7910df63d19e7ebc67bb1156437f0559712d7 Mon Sep 17 00:00:00 2001 From: Lars Henrik Mai Date: Sun, 21 Sep 2014 12:25:47 +0200 Subject: add foundation via bower --- .../modernizr/feature-detects/forms-validation.js | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 source/bower_components/modernizr/feature-detects/forms-validation.js (limited to 'source/bower_components/modernizr/feature-detects/forms-validation.js') diff --git a/source/bower_components/modernizr/feature-detects/forms-validation.js b/source/bower_components/modernizr/feature-detects/forms-validation.js new file mode 100644 index 0000000..d52921a --- /dev/null +++ b/source/bower_components/modernizr/feature-detects/forms-validation.js @@ -0,0 +1,62 @@ +// This implementation only tests support for interactive form validation. +// To check validation for a specific type or a specific other constraint, +// the test can be combined: +// - Modernizr.inputtypes.numer && Modernizr.formvalidation (browser supports rangeOverflow, typeMismatch etc. for type=number) +// - Modernizr.input.required && Modernizr.formvalidation (browser supports valueMissing) +// +(function(document, Modernizr){ + + + Modernizr.formvalidationapi = false; + Modernizr.formvalidationmessage = false; + + Modernizr.addTest('formvalidation', function() { + var form = document.createElement('form'); + if ( !('checkValidity' in form) || !('addEventListener' in form) ) { + return false; + } + if ('reportValidity' in form) { + return true; + } + var invalidFired = false; + var input; + + Modernizr.formvalidationapi = true; + + // Prevent form from being submitted + form.addEventListener('submit', function(e) { + //Opera does not validate form, if submit is prevented + if ( !window.opera ) { + e.preventDefault(); + } + e.stopPropagation(); + }, false); + + // Calling form.submit() doesn't trigger interactive validation, + // use a submit button instead + //older opera browsers need a name attribute + form.innerHTML = ''; + + Modernizr.testStyles('#modernizr form{position:absolute;top:-99999em}', function( node ) { + node.appendChild(form); + + input = form.getElementsByTagName('input')[0]; + + // Record whether "invalid" event is fired + input.addEventListener('invalid', function(e) { + invalidFired = true; + e.preventDefault(); + e.stopPropagation(); + }, false); + + //Opera does not fully support the validationMessage property + Modernizr.formvalidationmessage = !!input.validationMessage; + + // Submit form by clicking submit button + form.getElementsByTagName('button')[0].click(); + }); + + return invalidFired; + }); + +})(document, window.Modernizr); -- cgit v1.2.1