2012-05-18 10 views
9

Wie kann ich die Validierung mit Daten Annotation schriftlich Telefonnummer schreiben wie "094-4567" oder Handynummer wie "09129705678" usw.?ASP.NET MVC 3 Daten Annotation für Handys und Telefonnummern (Bearbeitet)

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;} 
    } 
} 

Ich weiß wirklich nicht, was zu tun ...

+0

Sind Sie US-Telefonnummern nur zu akzeptieren? Erlauben Sie Erweiterungen wie 123-456-7890 x1234? Was ist mit jemandem in den USA, der ein mexikanisches Handy benutzt und sie geben die Nummer ein, die Sie wählen würden, um es aus den USA zu erreichen, wie 52-1-625-1140504? – nvuono

Antwort

35

Sie reguläre Ausdrücke verwenden können Attribut wie folgt:

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;} 
    } 
} 

Es Zahlen entsprechen wie: , 012- 345-6789, (012) -345-6789 usw.

Sie können mehr über diesen Ausdruck hier erfahren: How to use Regular expression for validating Phone Numbers

+1

Verwenden Sie @ "^ \ (? ([0-9] {3}) \)? [-.]? ([0-9] {3}) [-.]? ([0-9] {4}). * $ ", damit Erweiterungen am Ende angeheftet werden können. –

-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

Try this:

[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; }