2

我的模型上有一个数字属性,我在我的剃刀视图上使用 editorfor。该字段不是强制性的,但默认验证使用户输入一个值,因为它不会接受数字的空字符串。我最终将模型属性更改为字符串,然后将我自己的自定义验证属性放在属性上。这不可能是获得我想要的东西的正确方法....可以吗?

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

2 回答 2

3

你需要的是一个可以为空的 double: double?。这样,您的变量将接受空字符串或空值以及双精度值。但是,每次使用它时都需要检查它是否为空,Latitude.HasValue并使用它Latitude.Value来获取它的值。

于 2012-05-01T13:44:59.937 回答
0

可以为空的双精度如何:

[Required]
public double? Latitude { get; set; }
于 2012-05-01T13:45:33.060 回答