MVC3 Ошибка получения поля свойства обязательна, несмотря на отсутствие атрибута [Обязательный] - PullRequest
4 голосов
/ 02 декабря 2011

У меня есть этот код:

@this.Html.DropDownListFor(vm => vm.FishId, 
    new SelectList(this.Model.Fishies, "FishId", "FishName", this.Model.FishId), "Please Select a Fish")

@this.Html.ValidationMessageFor(vm => vm.FishId)

Модель для этого просто

public int FishId
{
    get;
    set;
}

Так что здесь нет подтверждения.Когда я нажимаю «Отправить», я получаю сообщение «1007».Это ошибка проверки на стороне клиента.Любая идея, что вызывает это?

Если я изменю сообщение проверки для, на это:

@this.Html.ValidationMessageFor(vm => vm.FishId, "Gotta select a fish, man")

Тогда сообщение об ошибке изменится (что я и хочу) справа от выпадающего, однако в сводке о проверке по-прежнему отображается исходное сообщение.

Все остальные мои вещи я помещаю в валидацию и сообщения либо в качестве атрибутов RequiredField (...), либо в пользовательский метод проверки.Что происходит, как я могу изменить сводное сообщение проверки?

Ответы [ 3 ]

11 голосов
/ 02 декабря 2011

Попробуйте поставить int в nullable

public int? FishId { get; set; } 

Он должен пройти проверку, потому что вы допускаете нулевые значения

5 голосов
/ 02 декабря 2011

Не уверен, хотите ли вы отключить проверку или изменить сообщение об ошибке.Если последнее, то вы должны попытаться добавить ниже к вашей модели.

[Required(ErrorMessage="Gotta select a fish, man")]
public int FishId {get;set;}
1 голос
/ 09 марта 2013

Создать экземпляр и передать его для открытия результата ....

Пример: return View ("Добавить", новый Customer ());

Это инициализирует все типы значений сзначения по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...