0

フォームフィールドの1つにカスタムデータバリデーターを作成しましたが、フォームはまだ送信されており、エラーメッセージはユーザーに返されません。

ユーザーにエラーを強制して表示し、フォームの送信をブロックする方法はありますか?

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

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

カスタムバリデーターを[Require]属性として機能させ、ユーザーが私の基準に合わないものを送信できないようにするにはどうすればよいですか。

前もって感謝します !

編集。これがバリデーターです。提供された日付が将来のものではなく、SQLServerで許可されている日付以上であることを確認していることを意味します。

        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;
    }
4

1 に答える 1

0

フォームが無効なデータで送信されないようにするには、IClientValidatableインターフェイスを実装してクライアント側の検証を有効にする必要があります。

詳細については、以下を参照してください。

于 2012-04-23T19:58:04.573 に答える