2013-06-25 22 views
10

Używanie RegularExpression(@"^\d{1,15}$")], chcę użytkownika, aby wprowadzić cyfry do 15 długości, która zwraca komunikat o błędzie „Proszę wprowadzić maksymalnie 15 cyfr numeru kontaktowego” jeśli nie jest to poprawneRegularne komunikat o błędzie wyraz

[Required(ErrorMessage = ("Please enter up to 15 digits for a contact number")), Display(Name = "Contact Number"), RegularExpression(@"^\d{1,15}$")] 
public string ContactNumber { get; set; } 

Jeśli użytkownik nie to ja zostaję z komunikatem o błędzie zrobić:

The field Contact Number must match the regular expression '^\d{1,15}$'. 

zamiast 'Please enter up to 15 digits for a contact number' ... czy ktoś wie dlaczego? dziękuje

Odpowiedz

30

Przydzieliłeś ErrorMessage do RequiredAttribute (którego absolutnie nie potrzebujesz w tym przypadku ze względu na wyrażenie regularne). Więc:

[Display(Name = "Contact Number")] 
[RegularExpression(@"^\d{1,15}$", ErrorMessage = "Please enter up to 15 digits for a contact number")] 
public string ContactNumber { get; set; } 
+0

to wielkie dzięki za pomoc faceci – John

4

Trzeba umieścić swój post w RegularExpression atrybutu, a nie atrybut Required.

Dodano komunikat o błędzie do atrybutu Required, co oznacza, że ​​będzie wyświetlany, gdy pole będzie puste.

Powiązane problemy