2012-05-01 2 views
2

У меня есть числовое свойство на моей модели, и я использую editorfor на моем бритвенном представлении с ним. Поле не является обязательным, но проверка по умолчанию заставляет пользователя вводить значение, потому что оно не принимает пустую строку для числа. Я закончил тем, что изменил свойство модели на строку, а затем разместил свой собственный атрибут проверки свойства. Возможно, это может быть правильный способ получить то, что я хочу .... может ли это?mvc default validation on numbers

[NonMandatoryDoubleValidation("Latitude")] 
    public string Latitude { get; set; } 

ответ

3

Что вам нужно, это обнуляемым дважды: double?. Таким образом, ваша переменная примет пустую строку или нулевое значение, а также двойные значения. Тем не менее, вам нужно будет проверить, является ли он пустым каждый раз, когда вы используете его с Latitude.HasValue и используете Latitude.Value, чтобы получить его значение.

+0

спасибо - кто-то еще я знаю, указал мне в сторону «расширений аннотаций данных» – Richard

0

Как насчет обнуляемым двойной:

[Required] 
public double? Latitude { get; set; }