我的模型上有一个数字属性,我在剃刀视图上使用了编辑器。该字段不是必需的,但默认验证使用户输入一个值,因为它不接受数字的空字符串。我最终将模型属性更改为字符串,然后在属性上放置我自己的自定义验证属性。这可能是得到我想要的正确方法....可以吗??
[NonMandatoryDoubleValidation("Latitude")]
public string Latitude { get; set; }
答案 0 :(得分:3)
你需要的是一个可以为空的双人:double?
。这样你的变量将接受空字符串或空值以及双值。但是,每次与Latitude.HasValue
一起使用时,您都需要检查它是否为空,并使用Latitude.Value
来获取其值。
答案 1 :(得分:0)
可以为空的双人怎么样:
[Required]
public double? Latitude { get; set; }