J'ai une ChildWindow où l'utilisateur entre des données dans un champ de texte. Maintenant, quand il clique sur le bouton Soumettre, je dois fermer le ChildWindow seulement si les données entrées sont valides? Comment vérifier cela? J'ai recherché et vu beaucoup d'exemples pour comment valider la zone de texte mais j'ai besoin de savoir comment voir si tout est valide et laisser l'utilisateur fermer la fenêtre?Silverlight Validation - Comment empêcher l'utilisateur de soumettre des données invalides
Répondre
Eh bien, j'espère avoir bien compris votre question et je ne suis pas trop naïf.
Comme vous vous avez écrit savez comment valider réellement le contenu de la forme, je serai bref:
Il y a:
private void OKButton_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
de la classe ChildWindow, qui gère l'événement Click de la fenêtre de l'enfant. Dans cette méthode, vous appelez votre routine de validation et ne définissez this.DialogResult que si la validation renvoie true. Par exemple. comme ceci:
private void OKButton_Click(object sender, RoutedEventArgs e)
{
if (MyAweSomeValidation() == true)
{
this.DialogResult = true;
}
}
Bien sûr, vous avez besoin de votre propre logique pour MyAweSomeValidation() :)
La propriété DialogResult est mis en œuvre d'une manière qui ferme automagiquement la fenêtre enfant lorsqu'il est réglé. Si vous ne définissez pas la valeur, la fenêtre ne se ferme pas de cette façon. Mais vous devriez dire à l'utilisateur pourquoi il ne ferme pas si vous le manipulez comme ça, bien sûr. :)
HTH
Si vous avez un groupe de données faire quelque chose comme ceci:
dataform1.ValidateItem();
if (!dataform1.ValidationSummary.HasErrors)
{
dataform1.CommitEdit();
DialogResult = true;
}
- 1. <rich: ajaxValidator> Comment soumettre des données après validation?
- 2. Comment effectuer une validation sur soumettre uniquement - Plugin jQuery Validation
- 3. Supprimer des données invalides de la colonne VarChar
- 4. Silverlight Validation - Champs facultatifs
- 5. Comment gérez-vous la validation dans Silverlight?
- 6. Silverlight 3 - erreur de formulaire de données avec validation RIA
- 7. Silverlight 3 validation DataForm avec des modèles
- 8. Validation des données de classe
- 9. post modification des données sur soumettre
- 10. Validation des données JSON
- 11. Sérialisation XML d'un objet contenant des caractères invalides
- 12. Validation des données du constructeur
- 13. Silverlight 3 Validation MVVM WCF EF
- 14. Java, xml, XSLT: Empêcher la validation DTD
- 15. Propriétés de dépendance de validation Silverlight
- 16. Silverlight Stocker des données localement
- 17. soumettre à l'intérieur soumettre
- 18. Assurer des données valides ou protéger contre les données invalides? Tous les deux?
- 19. Comment empêcher un affichage de ModalPopupExtender?
- 20. Validation de schéma, comment afficher des messages de validation conviviaux?
- 21. Silverlight 3 Validation - validation manuelle ne fonctionne pas?
- 22. XML - Les données au niveau racine sont invalides
- 23. Comment soumettre des suggestions aux spécifications CSS?
- 24. Validation des données d'un fichier dans .NET
- 25. Utilisez des attributs pour éviter des arguments d'entrée invalides
- 26. Validation jQuery Activer le bouton Soumettre lorsque valide
- 27. Empêcher l'inondation de sondage
- 28. Soumettre des données via GET avec "Snoopy" en PHP
- 29. Récupérer des données d'un contrôle Silverlight
- 30. Empêcher le rappel lors de la validation dans la grille ComponentArt
J'utilise this.DialogResult = true; mais le problème est avec MyAweSomeValidation. Comme je suis déjà en train de faire la validation dans Xaml et son erreur d'affichage, alors comment puis-je obtenir ce "Quelque chose ne va pas" sans utiliser beaucoup de code. Je veux dire au moins sans écrire presque la même quantité de code que j'ai déjà écrit en xaml. – Tanmoy
Je suppose que la réponse est "ça dépend". Souhaitez-vous nous montrer/nous les parties pertinentes de votre XAML? Je dois admettre que je ne connais pas les mécanismes de validation avec Silverlight. Une façon serait d'utiliser judicieusement l'élément x: Name pour avoir un accès direct sur l'élément nommé dans le code-behind. Une autre façon serait de travailler avec ValidationExceptions que vous attrapez dans la section appropriée de code-behind. Mais pour moi, c'est une conjecture en ce moment. Un exemple de code (XAML et/ou code-behind) serait utile. – Cornelius
Comme je l'ai dit, je "Can" re-valider dans le fichier cs avec explicitement vérifier tous les contrôles et le re-valider. Actuellement, je le fais de cette façon. Mais cela me semble un code dupliqué car il est déjà validé dans xaml. Est-il possible de dire à un contrôle (comme le ChildWindow dans mon cas) a une erreur de validation "sans vérifier explicitement chaque contrôle"? – Tanmoy