Je dois écrire en utilisant un validateur personnalisé pour vérifier si une zone de texte a un nombre avec un nombre décimal par exemple 95,3. Quelle est l'expression à accomplir dans les contrôles du serveur de validation dans asp.net?Utilisation de contrôles serveur de validateur personnalisés
Répondre
Je ne sais pas si c'est exactement ce que vous cherchez, mais il y a ce post que j'ai vu il y a longtemps qui explique un peu comment le faire. Vous voudrez peut-être jeter un oeil: http://aspdotnet-sequel.blogspot.com/2009/05/aspnet-textbox-validate-integer-float.html
Quelque chose comme cela devrait fonctionner, vous pouvez modifiy pour permettre autant de décimales dont vous avez besoin ou si vous voulez:
\d{0,}.\d{0,2}
En supposant que vous parlez des expressions régulières. Mais si vous l'étiez, vous devriez utiliser un validateur d'expressions régulières au lieu d'un validateur personnalisé.
En outre, voici un lien vers une autre question très similaire. link
En cas validator_ServerValidate vous pouvez le faire:
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
If args.Value.Contains(".") Then
'*** Textbox has a decimal...do what you need to handle it ***'
End If
End Sub
Mais comme d'autres mentionnent, sans le savoir un peu plus sur exactement ce que vous devez avoir arriver, vous auriez probablement eu envie de regarder soit un régulier expression validateur et essayer de valider sur le côté client au lieu de côté serveur (à moins que vous devez avoir sur le postback arriver)
Bien que cela va en fait détecter si certaines chaînes contiennent un point "." ou non, il trouvera également un point sur toute autre chaîne. –
Comme je l'ai mentionné il doit être plus descriptif sur la façon dont il veut que la validation se produise ... s'il doit être côté serveur, il peut aussi simplement vérifier si la valeur est numérique aussi (j'espère qu'il sait comment fais ça au moins). – Chris
S'il vous plaît essayez ce qui suit:
float f;
bool isFloat =float.TryParse("a.0", out f); //Will return false
bool isFloat2 =float.TryParse("95.3", out f); //will return true
Bonne chance!
- 1. Utilisation de contrôles personnalisés avec Interface Builder
- 2. Ajout de contrôles serveur personnalisés dans MVC
- 3. Serveur ou côté CLIENT Contrôles ASP.Net personnalisés?
- 4. Création de contrôles personnalisés
- 5. Contrôles personnalisés de BrightcoveExoMediaPlayer
- 6. Utilisation de contrôles d'interface utilisateur JavaScript Contrôles côté serveur 0s
- 7. Utilisation de Unity dans les contrôles personnalisés WPF
- 8. Utilisation de contrôles personnalisés dans Visual Studio 2010 Designer
- 9. Les assistants sont nos "contrôles de serveur personnalisés"
- 10. Messages de contrainte de validateur Symfony2 personnalisés
- 11. JavaFX: Définition de contrôles personnalisés
- 12. Utilisation de validateurs ASP.NET sur plusieurs contrôles
- 13. Tests unitaires de contrôles personnalisés dans Silverlight
- 14. Zend Framework 2 personnalisés validateur
- 15. Utilisation des contrôles personnalisés WPF dans les formulaires Windows?
- 16. Contrôles personnalisés ASP.NET MVC
- 17. Silverlight contrôles personnalisés
- 18. Écrire des contrôles personnalisés
- 19. contrôles personnalisés dans WP8
- 20. Contrôles personnalisés dans wxformbuilder
- 21. Liste des contrôles personnalisés
- 22. Contrôles personnalisés WxPython
- 23. Compositeur et contrôles personnalisés
- 24. html5 contrôles personnalisés vidéo
- 25. contrôles personnalisés sur Gridview
- 26. WPF et contrôles personnalisés
- 27. WPF: Contrôles personnalisés
- 28. Problème de validateur de champ obligatoire pour plusieurs contrôles
- 29. Contrôles Web ASP.NET personnalisés
- 30. contrôles personnalisés et
Voulez-vous échouer à la validation si l'entrée de l'utilisateur contient une décimale ou si elle requiert une décimale? – lukiffer