我正在制作自定义数据注释并且正在做一些测试,但我无法弄清楚为什么它不显示我的错误消息。
个人信息.cs
[CustomValidation(typeof(AWValidation), "ValidateName")]
public String GivenName { get; set; }
AWValidation.cs
public static ValidationResult ValidateName(String name)
{
// Perform validation logic here and set isValid to true or false.
if (name != null)
{
return ValidationResult.Success;
}
else
{
return new ValidationResult(
"The name for this customer does not match the required criteria.");
}
}
只有当用户单击保存按钮时,它才会输入 ValidationResult ValidateName(String name),虽然它不显示 ValidationResult,但它会显示其默认的错误消息。
我想要的是当用户退出或失去 GivenName 文本框的焦点以显示我的自定义数据注释时。
我的同事告诉我这可能是因为它正在验证服务器端 GivenName,我需要让它验证客户端?虽然不明白为什么
[Required(ErrorMessage="This is a required value")]
public String GivenName { get; set; }
当我失去 GivenName 文本框的焦点/标签时显示。
任何投入将不胜感激!谢谢,杰森 :)(PS 我正在使用 MVVM)