【发布时间】:2015-10-28 05:17:53
【问题描述】:
对于一个项目,我们让员工上传数据。这些数据将全部放入一个 varchars 临时表中,因为我们不想拒绝包含错误数据的文件。我们希望允许某人修复 Web 界面中的无效字段并发布更新。我们也不能使用 Web 字段验证,因为这些值不是通过表单而是通过平面文件加载的。我们想要遍历临时表列,并让我们的 Web 服务验证每个字段并确保它们是正确的(例如,价格可能需要是一个数字,但他们不小心输入了“价格:123,567.12”)。
public class SomeClass
{
public string Code { get; set; }
public string CodeDesc { get; set; }
public string Price { get; set; }
}
1 个选项:
public class SomeClass
{
public string Code { get; set; }
public string CodeIsValid { get; set; }
public List<string> CodeErrorCodes { get; set; }
public string CodeDesc { get; set; }
public string CodeDescIsValid { get; set; }
public List<string> CodeDescErrorCodes { get; set; }
public string Price { get; set; }
public string Price IsValid { get; set; }
public List<string> Price ErrorCodes { get; set; }
}
选项 2。我们研究了使用 IValidateableObject,但不知道使用它是否有任何缺点,然后通过 Web 服务将错误发送回。
提前致谢!
【问题讨论】:
-
你有什么问题?
-
我正在尝试确定将对象发送到方法并验证对象值的最佳方式。例如在上面的示例中,假设代码只能是 10 个字符长。我希望能够通过针对属性值运行方法来验证对象,然后返回其是否有效以及错误是什么。然后对对象中的每个属性执行此操作。最好返回整个对象以及任何验证错误。这是(希望)一个示例,可以对其进行一些澄清,但似乎会有更简单的方法。
-
public class SomeClass { public ValidateableProperty Code { get; set; } public ValidateableProperty CodeDesc { get; set; } public ValidateableProperty Price { get; set; } } public class ValidateableProperty { public string value { get; set; } public bool IsValid { get; set; } public List<string> listValidationErrors { get; set; } }
标签: c# angularjs validation asp.net-web-api