mvc对数字的默认验证

时间:2012-05-01 13:36:37

标签: c# asp.net-mvc razor editorfor

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

可以为空的双人怎么样:

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