Comment faire pour autoriser uniquement les numéros dans la zone de texte dans mvc4 rasoir
J'ai 3 zone de texte qui prend des valeurs code postal & numéro de mobile & numéro résidentiel.
J'ai la solution pour permettre seulement le nombre dans la zone de texte à l'aide de jquery du Soufflet post.
Je voudrais faire une EditFor zone de texte accepte uniquement les numéros de
mais peut-on faire cela à l'aide de données d'annotations en tant que je suis en utilisant MVC4 rasoir ?
- vous ne pouvez pas faire cela parce que les annotations de données sont appelées lorsque vous soumettez votre formulaire, et non pas lorsque vous entrez des données dans vos zones de texte
- même si cela est vrai, vous pouvez utiliser le HTML5 types d'entrée des règles de validation (où la prise en charge par le navigateur). les œuvres de cette question scénario.
- Utiliser jQuery avec une classe css
- Double Possible de Int ou un Numéro de Type de données pour DataAnnotation de validation de l'attribut
- C'est incorrect. Les annotations de données sont également utilisées pour lors du rendu de la forme, afin de déterminer côté client jQuery de validation et de types d'entrée pour les différents domaines.
Vous devez vous connecter pour publier un commentaire.
j'étais en train de jouer avec HTML5 input type=nombre. alors que ses pas pris en charge par tous les navigateurs que j'attends c'est la façon d'aller de l'avant pour gérer le type de traitement (nombre par ex). assez simple à faire avec un rasoir (ex VB)
et grâce à Lee Richardson, le c# chemin
au-delà de la portée de la question, mais vous pourriez faire la même approche pour toute html5 type d'entrée
Utiliser une expression régulière, par exemple
MVC 5 avec Razor, vous pouvez ajouter n'importe quel code html de saisie de l'attribut dans l'objet anonyme comme par exemple ci-dessus d'autoriser uniquement les nombres positifs dans le champ de saisie.
dans la zone de texte à écrire ce code
onkeypress="return isNumberKey(event)"
et la fonction de ce qui est juste en dessous.
Veuillez utiliser le Type de données attribut n'mais cela va à l'exception des valeurs négatives si l'expression régulière ci-dessous vous permettra d'éviter ce
Cela a fonctionné pour moi :
Javacript:
Utiliser cette fonction dans votre script et de le mettre à une durée de près de zone de texte pour afficher le message d'erreur
can we do this using data annotations as I am using MVC4 razor ?
Non, ce que je comprends de votre question, discrète validation ne montrent erorrs. La façon la plus simple est d'utiliser le plugin jquery:
Masked Entrée Plugin
Ici, c'est le javascript qui vous permet de saisir uniquement des chiffres.
Abonnez-vous à
onkeypress
cas pour la zone de texte.Ici, c'est le javascript pour elle:
Espère que cela vous aide.
Peut-être vous pouvez utiliser le bouton [Integer] annotation de données (Si vous utilisez le DataAnnotationsExtensions http://dataannotationsextensions.org/) . Cependant, cette wil seulement de vérifier si la valeur est un entier, nót si elle est remplie (de Sorte que vous mai également besoin de l'attribut [Obligatoire]).
Si vous activez Discrète Validation il sera valider côté client, mais vous devez également utiliser Modelstate.Valable dans votre POST de l'action de la refuser dans le cas où les gens ont désactivé Javascript.
pour les valeurs après la virgule est supérieur à zéro, HTML5 fonctionne comme suit:
DataType
a un deuxième constructeur qui prend une chaîne de caractères. Cependant, en interne, c'est en fait la même que l'utilisation de laUIHint
attribut.L'ajout d'un nouveau Type de données principal n'est pas possible depuis le
DataType
énumération est de la partie .NET framework. La chose la plus proche que vous pouvez faire est de créer une nouvelle classe qui hérite de laDataTypeAttribute
. Vous pouvez ensuite ajouter un nouveau constructeur avec votre propreDataType
énumération.Vous pouvez également passer par cette lien. Mais je vous recommande l'utilisation de Jquery pour la même chose.
Hi essayez ce qui suit....
SCRIPT