2011-06-16 4 views
4

Je travaille sur une page et j'aimerais utiliser le code HTML setCustomValidity. Il est assez facile de tester si le navigateur supporte:HTML5 sur les anciens navigateurs?

var inpt = document.getElementsByTagName("input")[0]; // etc. 
if(typeof(inpt.setCustomValidity) != 'function') 
    // workaround here 

Mais je ne sais pas s'il y a une façon raisonnable de traiter cette question. Bien sûr, je peux écrire une fonction setCustomValidity dans ce cas, mais elle n'aura pas le contexte (right?) Pour gérer l'événement. Sauf peut-être que j'ai des fonctions l'appeler avec leurs propres noms?

S'il y a une bibliothèque qui gère cela (Modernizr etc.) ce serait génial. S'il y a une bonne solution, je serais heureux de l'utiliser.

J'ai quelques hacks laids à l'esprit mais je préférerais faire cela le juste si possible, peu importe ce que cela pourrait être.

Répondre

3

Cela pourrait être ce que vous cherchez si vous ne me dérange pas en utilisant jQuery: http://afarkas.github.com/webshim/demos/index.html

pour la validation de Fallback forme dans les navigateurs qui ne les prennent pas en charge: http://afarkas.github.com/webshim/demos/demos/webforms.html

+0

Ceux qui ont l'air bien. Savez-vous s'ils travaillent avec 'pattern =" "'? – Charles

+0

motif est dans la liste des attributs pris en charge, donc je suppose que oui; Aucune expérience avec cela si – fijter

+0

Merci, cela a été utile. – Charles

1

J'ai entendu beaucoup de choses à propos de Modernizr et en fonction de l'attention qu'il a reçu, je dirais sans hésiter à essayer.

+1

-t-il gérer 'setCustomValidity() '? – Charles

+0

Je ne trouve rien dans la documentation à ce sujet mais il semblerait que ce serait une implémentation assez facile à inclure. Je dirais le télécharger et l'essayer. Si ça ne marche pas, alors je ne pense pas qu'il serait trop difficile d'écrire votre propre méthode d'extension setCustomValidity. Vous disposez simplement d'un tableau 2D global dont le sélecteur d'un objet est associé à son message. La méthode d'extension peut pousser les deux dans le tableau lors de son appel. Lors de la validation si une texbox donnée ne valide pas correctement, utilisez le tableau comme référence et définissez le message de mise au point/affichage. – MoarCodePlz

Questions connexes