ben*_*143 3 c# validation entity-framework
我试图使用DBContext自动验证我的实体并在屏幕上显示一条消息.get验证错误成功检测到string类型的所有非可空属性,因为它们的值仍为null.当我尝试验证int类型的属性时,我的问题出现了.默认情况下,该值已设置为0,因为它是外键ID,我需要此值不为0,但不会检测到它.
//Create a database context over current ObjectContext
var databaseContext = new DbContext(this, true);
//Get Validation Errors
var errors = databaseContext.GetValidationErrors();
//Display errors on screen
if (errors.Any())
{
var errorList = new StringBuilder();
foreach (var error in errors)
{
foreach (var validationError in error.ValidationErrors)
{
errorList.AppendLine(validationError.ErrorMessage);
}
}
var vm = IoC.Get<ModalConfirmationViewModel>();
vm.Message = errorList.ToString();
var wm = IoC.Get<WindowManager>();
wm.ShowDialog(vm);
return false;
}
Run Code Online (Sandbox Code Playgroud)
思考?
谢谢Ben
您可以使用Range来验证属性是否在特定范围内:
[Range(1, int.MaxValue, ErrorMessageResourceName = "BarIdMustBeGreaterThanZero",
ErrorMessageResourceType = typeof (Resources))]
int BarId{ get; set; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5325 次 |
最近记录: |