I play with HTML 5 validation and localization, and I managed to get some code that allows me to localize HTML 5 validation error messages (see below). My problem is that in Chrome, when matching with a template, you still pop up in English (or, I think, in any language in which Chrome is installed) ', please match the requested format. How do you suppress this popup so I can just use my own verification messages?
$(document).ready(function () { var elementsInput = document.getElementsByTagName("input"); var elementsTextArea = document.getElementsByTagName("textarea"); for (var i = 0; i < elementsInput.length; i++) { elementsInput[i].oninvalid = function (e) { e.target.setCustomValidity(""); if (!e.target.validity.valid) { switch (e.target.name) { case "Name": if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Anna nimesi"); } else { e.target.setCustomValidity("Please enter a Name"); } break; case "EmailAddress": if (e.target.validity.valueMissing) { if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Anna sähköpostiosoitteesi"); } else { e.target.setCustomValidity("Please enter an Email Address"); } } else if (e.target.validity.patternMismatch) { if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Virheellinen sähköpostiosoite"); } else { e.target.setCustomValidity("Invalid Email Address"); } } break; case "PhoneNumber": if (e.target.validity.valueMissing) { if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Anna puhelinnumerosi"); } else { e.target.setCustomValidity("Please enter a Phone Number"); } } else if (e.target.validity.patternMismatch) { if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Virheellinen puhelinnumero"); } else { e.target.setCustomValidity("Invalid Phone Number"); } } break; } } }; elementsInput[i].oninput = function (e) { e.target.setCustomValidity(""); }; } for (var j = 0; j < elementsTextArea.length; j++) { elementsTextArea[j].oninvalid = function (e) { e.target.setCustomValidity(""); if (!e.target.validity.valid) { switch (e.target.name) { case "Details": if ("@Thread.CurrentThread.CurrentUICulture.Name.ToLower()" == "fi-fi") { e.target.setCustomValidity("Täytäthän yksityiskohdat"); } else { e.target.setCustomValidity("Please enter Details"); } break; } } }; elementsTextArea[j].oninput = function (e) { e.target.setCustomValidity(""); }; } });
javascript html5 asp.net-mvc-4
user517406
source share