簡體   English   中英

強制自定義mvc數據注釋驗證器按要求工作

[英]Forcing custom mvc data annotation validators work as Require

我為表單字段之一編寫了一個自定義數據驗證器,它可以完成工作,但是仍在提交表單,並且沒有錯誤消息返回給用戶。

有沒有一種方法可以強制用戶出現錯誤並阻止提交表單?

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

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

如何使我的自定義驗證器作為[Require]屬性工作,以便用戶無法提交不符合我的條件的任何內容。

先感謝您 !

編輯。 這是驗證器。 我的意思是要驗證提供的日期不是將來的日期,並且不小於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;
    }

您需要通過實現IClientValidatable接口來啟用客戶端驗證,以防止使用無效數據提交表單。

有關詳細信息,請參見以下內容:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM