2012-05-18 14 views
9

Come posso scrivere la convalida utilizzando l'annotazione dati per scrivere numeri di telefono come "094-4567" o numero di cellulare come "09129705678" ecc.?ASP.NET MVC 3 Annotazione dati per telefono cellulare e numeri di telefono (Modificato)

using System.Web; 
using System.Data.Entity; 
using System.ComponentModel.DataAnnotations; 

namespace PhoneBook.Models 
{ 
    public class Contact 
    { 
     [Required(ErrorMessage="Telephone Number Required") 
     [?] 
     public string Telephone Number {get; set;} 
    } 
} 

Io davvero non so cosa fare ...

+0

Si sta solo accettando US numeri di telefono? Permetti estensioni come 123-456-7890 x1234? Che ne dici di qualcuno negli Stati Uniti che usa un cellulare messicano e inserisce il numero che vuoi chiamare per raggiungerlo dagli Stati Uniti, come il 52-1-625-1140504? – nvuono

risposta

35

È possibile utilizzare espressioni regolari attributo in questo modo:

namespace PhoneBook.Models 
{ 
    public class Contact 
    { 
     [Required(ErrorMessage="Telephone Number Required") 
     [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Entered phone format is not valid.")] 
     public string Telephone Number {get; set;} 
    } 
} 

abbinerà numeri come: , 012- 345-6789, (012) -345-6789 ecc.

Per ulteriori informazioni su questa espressione: How to use Regular expression for validating Phone Numbers

+1

Utilizzare @ "^ \ (? ([0-9] {3}) \)? [-.]? ([0-9] {3}) [-.]? ([0-9] {4}). $ "invece di consentire l'aggiunta di estensioni all'estremità. –

-3
namespace PhoneBook.Models 
{ 
    public class Contact 
    { 
     [Required(ErrorMessage="Telephone Number Required") 
     [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Entered phone format is not valid.")] 
     public string Telephone Number {get; set;} 
    } 
} 
2

Prova questo:

[DataType(DataType.PhoneNumber, ErrorMessage = "Provided phone number not valid")] 
0
Try for simple regular expression for Mobile No 

    [Required (ErrorMessage="Required")] 
    [RegularExpression(@"^(\d{10})$", ErrorMessage = "Wrong mobile")] 
    public string Mobile { get; set; } 
Problemi correlati