【发布时间】:2016-02-29 18:27:13
【问题描述】:
对于我的asp.net MVC View,我使用了验证注释和自定义验证器来验证我的字段。
在我的ViewModel,
为了测试,我使用了
[StringLength(16, MinimumLength = 8, ErrorMessage = "This is a test to check if validation appears after leaving textbox")]
[Display(Name = "Requestor First Name")]
[Required]
public string RequestorFirstName { get; set; }
在视图中,当我只键入一个字母并离开文本框焦点时,出现字符串长度的错误消息。我知道 客户端验证正在运行。
对于我的自定义验证器:
[FaceAmount]
public decimal CurrentFaceAmount { get; set; }
当我在CurrentFaceAmount 字段中更改美元金额时,IMMEDIATELY 不会触发自定义验证码。仅有的
点击提交按钮后,断点在以下代码中:
public class FaceAmount : ValidationAttribute, IClientValidatable
{
private string _dependentProperty;
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
decimal val;
var isNumeric = decimal.TryParse(value.ToString(), out val);
if (isNumeric)
{
if (val > 0 && val < 100000)
{
return new ValidationResult("Minimum Coverage Amount is $1000.00");
}
}
}
return ValidationResult.Success;
}
}
离开文本框焦点后如何触发此自定义验证代码?
【问题讨论】:
标签: c# asp.net asp.net-mvc