Atrybut DataAnnotations [Phone]
Jaki jest domyślny, prawidłowy format atrybutu [Telefon]? W tabeli danych kolumna telefonu to navrchar (16). Jeśli wprowadzę numer telefonu, taki jak 1112223333, pole „Otrzymuję” nie jest prawidłowym numerem telefonu. ” Jeśli wprowadzę 01112223333, otrzymam „Wartość” 11112223333 „jest nieprawidłowa”.
Ponadto, jak go zastąpić? Rozumiem, że mógłbym zrobić coś takiego, ale czy w tym przypadku jest to najlepsza praktyka?
[RegularExpression(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}",ErrorMessage="Invalid Phone Number!")]
Powiązany kod:
[Required]
[Phone]
public string Phone { get; set; }
<div class="editor-field">
@Html.EditorFor(model => model.Phone)
@Html.ValidationMessageFor(model => model.Phone)
</div>
Aktualizacja Myślę, że pojawił się problem z mapowaniem, kiedy zmieniłem kolumnę telefonu z int na navrchar. Aktualizacja modelu nie była wystarczająca, więc musiałem zmienić wartość ręcznie za pomocą mapowania tabeli.
Błąd 2019: Określone mapowanie członków jest nieprawidłowe. Typ 'Edm.Int32 [Nullable = False, DefaultValue =]' członka 'Phone' w typie 'UserDBModel.UserProfile' nie jest zgodny z 'SqlServerCe.nvarchar [Nullable = False, DefaultValue =, MaxLength = 16, Unicode = True , FixedLength = False] 'członka' Phone 'w typie' UserDBModel.Store.UserProfile '.