5

私はまだMVCを手に入れています。

いくつかの同様の質問、いくつかのカスタム コード、およびさまざまな方法を見てきましたが、自分に合ったものは見つかりませんでした。

HTML テーブルに部分ビュー内の結果を入力する検索モデルがあります。検索結果モデルにこれがあります:

public DateTime? BeginDateTime { get; set; }

コントローラーで DateTime.Now に設定されています。ユーザーは、モデルの POST 呼び出しで検索結果のデータを使用してタスクを実行する日時を指定できます。

私がやりたいことは、ユーザーが定義した日付/時刻が少なくとも 1 分先であることを検証することです。これがクライアント側の検証として実行できれば、より良いものになりますが、それが機能する限り、私はオプションを受け入れます.

意見:

Begin update: @Html.TextBoxFor(o => o.BeginDateTime, new { id="txtBegin" })

ありがとう。

4

2 に答える 2

0

これは、選択した日付が未来のものであることを確認するもう 1 つの良い方法です。

public class FutureDate : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        DateTime dateTime;
        var isValid = DateTime.TryParseExact(
        //Getting the value from the user.
        Convert.ToString(value),

        //We want the user to enter date in this format.
        "d mmm yyyy",

        //It checks if the culture is us-en
        CultureInfo.CurrentCulture,

        //Mosh has no idea what this does.
        DateTimeStyles.None,

        //Output parameter.
        out dateTime);

        return (isValid && dateTime > DateTime.Now);
    }
}
于 2016-08-25T02:32:51.403 に答える