Magicodes.IE
Magicodes.IE copied to clipboard
对于bool类型的字段,当手动填写除true和false外的其他字符串,会被当做false处理
期望的结果应该是报错误
[ImporterHeader(Name = "是否为GEO点")]
[Required(ErrorMessage = "是否为GEO点不能为空")]
[ValueMapping(text: "是", true)]
[ValueMapping(text: "否", false)]
public bool Geo { get; set; }
经测试,需要将属性定义成bool?
类型,才会触发验证。 这是一个BUG
吗?
经测试,需要将属性定义成
bool?
类型,才会触发验证。 这是一个BUG
吗?
不是Bug,bool的默认值是false,永不为空。
那向Excel中输入一个非bool
的值,应该是无法转成bool
,就像定义一个int
类型的字段,而输入的是个非数字的字符串,这里是按正常预期的提示“输入非法内容”的呀
那向Excel中输入一个非
bool
的值,应该是无法转成bool
,就像定义一个int
类型的字段,而输入的是个非数字的字符串,这里是按正常预期的提示“输入非法内容”的呀
您的建议不错,除了部分关键字(false、否),这边统一作非法输入处理。