La validation d'un champ de zone de texte que pour les entrées numériques.
J'ai créé un formulaire de base de programme qui a besoin d'une certaine entrée de validation. J'ai besoin de s'assurer que l'utilisateur ne peut entrer des valeurs numériques à l'intérieur de la distance de la zone de texte.
Jusqu'à présent, j'ai vérifié que la zone de texte a quelque chose en elle, mais si elle a une valeur, elle devrait procéder à valider la valeur entrée est numérique:
else if (txtEvDistance.Text.Length == 0)
{
MessageBox.Show("Please enter the distance");
}
else if (cboAddEvent.Text //is numeric)
{
MessageBox.Show("Please enter a valid numeric distance");
}
- Qu'entendez-vous par le numérique? Seuls les chiffres? Décimal valide?
- Je veux dire, les valeurs supérieures à 0, et entier, typique d'un événement sportif distances
- Question très semblable, peut-être en double. stackoverflow.com/questions/10357150/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer les TryParse méthode qui permet d'analyser une chaîne de caractères en un entier et retourner une valeur booléenne indiquant le succès ou l'échec de l'opération.
Si vous souhaitez empêcher l'utilisateur d'entrer des valeurs non numériques au moment de la saisie de données dans la zone de texte, vous pouvez utiliser l'Événement OnKeyPress comme ceci:
Cette solution ne fonctionne pas si l'utilisateur coller les informations dans la zone de texte à l'aide de la souris (clic droit /coller) dans ce cas, vous devez ajouter un supplément de validation.
Ici est une simple solution
Vous pouvez le faire par javascript sur le côté client, soit d'utiliser une regex validateur sur la zone de texte.
Javascript
Zone de texte (fixe ValidationExpression)
Vous pouvez le faire de cette façon
Je suis d'accord avec Int.TryParse mais comme une alternative, vous pouvez utiliser les Regex.
J'ai cette extension qui est une sorte de multi-usage:
Cela fonctionne pour d'autres types de données. Devrait fonctionner très bien pour ce que vous voulez faire.
Voici une solution qui permet de bien numériques qu'avec un signe moins ou en décimal avec signe et point décimal. La plupart des réponses précédentes ne prennent pas en compte le texte sélectionné. Si vous changez de zone de texte du ShortcutsEnabled à false, alors vous ne pouvez pas coller les ordures dans votre zone de texte ou l'autre (il désactive le clic droit). Certaines solutions vous ont permis de saisir les données avant de le moins. Veuillez vérifier que j'ai pris tout!
Pour vérifier si la valeur est double: