J'essaye de changer la langue du message d'erreur dans le champ de formulaire html5.
J'ai ce code:
<input type="text" name="company_name" oninvalid="setCustomValidity('Lütfen işaretli yerleri doldurunuz')" required />
mais lors de l'envoi, même le champ n'est pas vide, le message d'erreur persiste.
J'ai essayé avec <input type="text" name="company_name" setCustomValidity('Lütfen işaretli yerleri doldurunuz') required />
mais alors le message anglais est affiché. Quelqu'un sait comment puis-je afficher le message d'erreur sur une autre langue?
Cordialement, Zoran
Le but de setCustomValidity
n'est pas simplement de définir le message de validation, il indique lui-même le champ comme non valide. Il vous permet d’écrire des contrôles de validation personnalisés qui ne sont pas pris en charge de manière native.
Vous avez deux façons possibles de définir un message personnalisé: un message simple, sans Javascript, et un autre.
Le moyen le plus simple consiste à utiliser simplement l'attribut title
sur l'élément d'entrée - son contenu est affiché avec le message standard du navigateur.
<input type="text" required title="Lütfen işaretli yerleri doldurunuz" />
Si vous souhaitez uniquement que votre message personnalisé soit affiché, un peu de Javascript est requis. J'ai fourni les deux exemples pour vous dans ce violon .
HTML:
<form id="myform">
<input id="email" oninvalid="InvalidMsg(this);" name="email" oninput="InvalidMsg(this);" type="email" required="required" />
<input type="submit" />
</form>
JAVASCRIPT:
function InvalidMsg(textbox) {
if (textbox.value == '') {
textbox.setCustomValidity('Lütfen işaretli yerleri doldurunuz');
}
else if (textbox.validity.typeMismatch){{
textbox.setCustomValidity('please enter a valid email address');
}
else {
textbox.setCustomValidity('');
}
return true;
}
Démo:
Je sais que c'est un ancien post mais je veux partager mon expérience.
HTML:
<input type="text" placeholder="Username or E-Mail" required data-required-message="E-Mail or Username is Required!">
Javascript (jQuery):
$('input[required]').on('invalid', function() {
this.setCustomValidity($(this).data("required-message"));
});
C'est un exemple très simple. J'espère que cela peut aider à n'importe qui.
//Dynamic custome validation on all fields
//add validate-msg attr to all inputs
//add this js code
$("form :input").each(function(){
var input = $(this);
var msg = input.attr('validate-msg');
input.on('change invalid input', function(){
input[0].setCustomValidity('');
if(!(input[0].validity.tooLong || input[0].validity.tooShort)){
if (! input[0].validity.valid) {
input[0].setCustomValidity(msg);
}
}
});
});
<input type="text" id="inputName" placeholder="Enter name" required oninvalid="this.setCustomValidity('Your Message')" oninput="this.setCustomValidity('') />
cela peut vous aider encore mieux, rapide, pratique et facile.