Le DataAnnotations [Téléphone] Attribut
Ce qui est la valeur par défaut, format valide de l' [Téléphone] attribut?
Dans le tableau de données, le téléphone de la colonne est navrchar (16)
Si j'entre un numéro de téléphone comme 1112223333, j'obtiens un "champ n'est pas un numéro de téléphone valide."
Si j'entre 01112223333, je reçois "La valeur "11112223333' est pas valide."
Aussi, comment le remplacer?
Je comprends que je pourrais faire quelque chose comme ça, mais est-ce la meilleure pratique dans ce cas?
[RegularExpression(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}",ErrorMessage="Invalid Phone Number!")]
Liées code:
[Required]
[Phone]
public string Phone { get; set; }
<div class="editor-field">
@Html.EditorFor(model => model.Phone)
@Html.ValidationMessageFor(model => model.Phone)
</div>
Mise à jour
Je pense qu'il y a une cartographie problème quand j'ai changé le téléphone de la colonne de type int à navrchar. Mise à jour le modèle n'était pas assez, donc j'ai dû changer la valeur manuellement à l'aide de la Table de Mapping.
Erreur 2019: Membre de la Cartographie spécifié n'est pas valide.
Le type 'Edm.Int32[Nullable=False,DefaultValue=]' membre 'Téléphone'
dans " type de UserDBModel.UserProfile " n'est pas compatible avec
'SqlServerCe.nvarchar[Nullable=False,DefaultValue=,MaxLength=16,Unicode=True,Ngth=False]'
de membre "Téléphone" dans le " type de UserDBModel.Magasin.UserProfile'.
Vous avez changé votre colonne dans la base de données de "nvarchar" mais gauche de la
Phone
propriété dans UserDBModel.UserProfile
un int
OriginalL'auteur usefulBee | 2013-10-25
Vous devez vous connecter pour publier un commentaire.
L'expression régulière par défaut pour le
PhoneAttribute
peut maintenant être facilement trouvés en parcourant le code source avec .NET Source de la Référence (.NET Framework 2.7.2) ou source.dot.net (.NET Core)Il montre (laid) Regex comme étant défini comme:
Qui répond à votre question directe, mais si cela est utile ou non reste à voir. Il serait peut-être une bonne base pour créer votre propre numéro de téléphone modifié regex.
il est un peu lâche. Voir mon montage ci-dessus.
OriginalL'auteur Matt Tester
Essayer ce -
OriginalL'auteur Sayli Vaidya