0
對於我的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; }
在視圖中,當我輸入只是一個字母,離開文本框的焦點,出現stringlength的錯誤消息。我知道 客戶端驗證正在工作。
對於我自定義的驗證:
[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;
}
}
我怎麼能離開火的文本框焦點後這個自定義的驗證碼?