none
Валидация double поля в ASP.NET MVC RRS feed

  • Вопрос

  • Всем добрый день!

    В проекте есть property и ей навешан атрибут range:

    [Range(0, 100, ErrorMessage = "Error")]
    public double? Weight { get; set; }
    

    Вопрос! Если мы введем в поле значение не попадающее в наш промежуток, мы увидим сообщение "Error",  но если введем в поле, допустим "test", то будет выведено сообщение: " The field Weight must be a number."

    Вопрос: Как заменить это сообщение?

    Я так полагаю, его генерит сам MVC, при попытке смапить модель и когда это не получается, он возвращает подобное сообщение...

    18 ноября 2011 г. 8:43

Ответы

Все ответы

  • Правильный ответ гугл скрывает под магической комбинацией "System.Web.Mvc.DefaultModelBinder.ResourceClassKey".

     

    Как пример:

    http://stackoverflow.com/questions/2046715/asp-net-mvc-dataannotations-show-an-error-message-indicating-that-a-field-mus

    • Помечено в качестве ответа vikaz 18 ноября 2011 г. 11:00
    18 ноября 2011 г. 10:32
  • Внесу немного конкретики!

    Я использую ненавязчивую валидацию. И для поля double добавляется вот такой атрибут:

    <input id="AboutPatientOrPerson_Weight" class="b-form__text b-form__text_small"  type="text"  value="0"  name="AboutPatientOrPerson.Weight"  data-val-validdouble-param="4"  data-val-validdouble="Valid Double Error" data-val-required="requ" data-val-number="The field Weight must be a number." data-val="true">

    Как можно повлиять на текст этого атрибута из MVC?


    18 ноября 2011 г. 10:33
  • Все сообщения, которые MVC генерирует в виде атрибутов ненавязчивой валидации, хранятся в ресурсах MVC. Также есть штатный механизм использования Ваших собственных ресурсов для хранения сообщений вместо штатных. Выше я привел ссылку на конкретный пример такой подмены и на статью, где описываются подробности.
    18 ноября 2011 г. 10:57