La meilleure façon de valider la monnaie d'entrée?
J'ai créé la zone de texte et CompareValidator au-dessous de laquelle j'ai pensé permettrait d'entrée dans les formes suivantes:
- 5
- 5.00
- $5.00
Malheureusement ça ne permettant pas la version avec le signe du dollar en elle. Quel est le point de faire une vérification du type contre de la monnaie si vous ne laissez pas le signe dollar? Est-il un moyen pour permettre à ce symbole?
<asp:TextBox ID="tb_CostShare" runat="server" Text='<%# Eval("CostShare", "{0:$0.00}")%>' CausesValidation="true" />
<asp:CompareValidator ID="vld_CostShare"
runat="server"
ControlToValidate="tb_CostShare"
Operator="DataTypeCheck"
Type="Currency"
ValidationGroup="vld"
ErrorMessage="You must enter a dollar amount for 'Cost Share'." />
- Si vous utilisez
{0:c}
à la place? - Un bureau de validation pourrait inclure des monnaies autres que le dollar...
- Je ne veux pas valider rien d'autre que l'USD. @Greg - Comment puis-je utiliser {0:c} pour valider?
- Je ne sais pas, peut-être qu'il ne fonctionne pas de cette façon.
- Pourquoi voulez-vous le signe de dollar dans la validation? Vous devez juste être de la validation de la
5.35
. Si vous souhaitez afficher le signe"$", placez une étiquette sur la face avant de la zone de texte. De cette façon, vous pouvez également stocker comme un nombre décimal en SQL. - Je veux accepter une entrée d'utilisateur si il a un signe de dollar ou pas. Ce que je suis l'affichage est une question distincte qui est déjà manipulé correctement.
Vous devez vous connecter pour publier un commentaire.
La CompareValidator ne supporte pas les symboles des devises. Vous pouvez ajouter un préfixe de votre entrée de contrôle avec l' $ ou utiliser une expression régulière du programme de validation, cette page est un exemple.
Le modèle suivant correspondent à votre exemples (avec l'aimable autorisation de http://www.regexlib.com):
Aussi, vous pourriez écrire un validateur personnalisé pour analyser la chaîne, avec ou sans $. Mais vous pourriez avoir besoin d'écrire du Javascript pour obtenir de la validation côté client.