2012-04-23 54 views
0

我爲其中一個表單域編寫了自定義數據驗證程序,但它完成了這項工作,但表單仍在提交中,並且沒有任何錯誤消息返回給用戶。強制自定義mvc數據註釋驗證程序按要求運行

有沒有一種方法可以強制錯誤給用戶顯示並阻止表單被提交?

[CheckDateInPast(ErrorMessage = "Your date cannot be in the future.")] 
    . 
    . 
    . 

@Html.ValidationMessageFor(model => model.MyField) 

我怎樣才能讓我的自定義驗證工作作爲[要求]屬性,使用戶不能提交任何不符合我的標準。

預先感謝您!

編輯。這是驗證器。我暗示要驗證提供的日期不會在將來,也不會低於SQL Server允許的日期。

 public override bool IsValid(object value) 
    { 
     DateTime date; 

     bool success = DateTime.TryParse(value.ToString(), out date); 
     if (!success) 
      return false; 

     if (date < System.Data.SqlTypes.SqlDateTime.MinValue || date > DateTime.Now) 
      return false; 

     return true; 
    } 
+0

您目前如何使這個屬性?我們可以看到源代碼嗎? – MilkyWayJoe 2012-04-23 19:47:19

+0

當然。在上面發佈。 – Shenaniganz 2012-04-23 19:51:09

回答