Valider un Champ Caché
Je suis l'aide de MVC3 avec discrète de validation. J'ai un domaine que l'utilisateur est censé remplir avec des données et appuyez sur un bouton "recherche". Si la recherche n'a jamais été pressé ou que l'utilisateur a modifié le champ de saisie après avoir appuyé sur la recherche, le formulaire ne devrait pas être possible de soumettre des.
J'ai ajouté un champ caché qui est mis à true
par le click()
événement du bouton et vidé par la keyup()
cas de la zone d'entrée. Maintenant, je voudrais ajouter une règle de validation qui nécessite le champ caché pour être true
pour permettre à soumettre.
De préférence, je voudrais utiliser discrète de validation, mais si cela ne fonctionne pas, il est ok avec quelque chose qui nécessite un peu de javascript, tant qu'il ne s'abîme pas le discret de validation pour le reste de la forme.
L'extrait de code suivant est exactement ce que je veux, jusqu'à ce que je ajouter type="hidden"
.
<input class="required" id="client-searched" data-val="true"
name="ClientSearched" data-val-required="Press search!"/>
<span class="field-validation-valid" data-valmsg-replace="true"
data-valmsg-for="ClientSearched"/>
OriginalL'auteur Anders Abel | 2012-03-14
Vous devez vous connecter pour publier un commentaire.
essayer
Ici à titre informatif blog
MODIFIER
@RAM suggéré une meilleure solution, veuillez SUIVRE
ignore: ":hidden"
.Il s'éteint en ignorant à tous, je ne considère pas cela comme solution correcte
ses un an de répondre plz modifier la question pour ajouter vos précieux commentaires...ce qui concerne
solution proposée sera cause que tous les champs seront validées, et dans le cas lorsque nous voulons valider une partie seulement de
:hidden
champs, il ne fonctionne pas. Je pense que la meilleure idée est de faire cette explicites, comme ceignore: :hidden:not(".javascript-unobtrusive-validation-include")'
de la classe.javascript-unobtrusive-validation-include
pourrait être notre marqueur des champs cachés qui doivent prendre part au processus de validation.J'ai décrit ce point dans une réponse à l'aide d'un attribut data ici
OriginalL'auteur Rafay
J'ai eu un problème similaire, et j'ai utilisé ce code pour modifier les paramètres par défaut, en MVC 4:
Source:
JQuery valider
OriginalL'auteur Francisco
Dans certains cas, vous souhaitez simplement ignorer la validation sur un ou plusieurs
les champs cachés (pas tous champ caché) dans
client side
et aussi vous voulez de les valider et d'autres champs masqués dansserver side
.Dans ces cas, vous avez attributs de validation pour tous les champs cachés dans votre
ViewModel
et ils seront utilisés pour valider le formulaire lorsque vous postez (server side
).Maintenant, vous avez besoin d'un truc pour simplement valider certaines des champs cachés dans le côté client (pas tous). Dans ces cas, je vous recommande d'utiliser mon mécanisme de!
Ensemble
data-force-val
commetrue
dans la cible cachée balises input. C'est notre attribut personnalisé que nous utilisons pour détecter la cible caché entrées sorcière nous voulons valider dans le côté client.Vous pouvez également définir le
data_force-val
pour vos caché entrées parjQuery
:Maintenant, active
data-force-val="true"
de la fonctionnalité de certains codes simple comme celles-ci:Remarque:
validator.settings.ignore
valeur par défaut est:hidden
OriginalL'auteur RAM