2017-04-07 7 views
6

MVC .Net Coreでモデルバリデーションを使用しようとしていますが、このデフォルトエラーメッセージ「値が無効です」を置き換えることはできません。MVC .Netコアモデル検証 - 値 ''は無効です。エラー

理論的には、モデルのErrorMessage注釈を使用して、独自のカスタムエラーメッセージを置き換えることができます。しかし、私はこれを実現させる方法を見つけることができませんでした。

マイモデル

[Required(ErrorMessage = "Date Required")] 
[DataType(DataType.Date, ErrorMessage = "Invalid Date Format")]     
[Display(Name = "Appointment Date")] 
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime AppointmentDate { get; set; } 

上記に示したように、私はRequiredDataTypeタグの両方のためにErrorMessage異なっを置きます。

マイHTMLビュー私はそのエラーメッセージに置き換えを取得することができる方法

<div class="col-md-2"> 
     <input class="form-control" asp-for="AppointmentDate"> 
     <span asp-validation-for="AppointmentDate" class="text-danger"></span> 
    </div> 

enter image description here

は、あなたが私を助けていただけますか?ありがとう。

public DateTime? AppointmentDate { get; set; } 

編集:またDataType属性は、実際のフィールドでの検証を行いませんのでご注意あなたRequired属性を作るために

+0

[これをチェックしました](http://stackoverflow.com/questions/1538873/how-to-replace-the-default-modelstate-error-message-in-asp-net-mvc-2)?それはあなたが探しているものかもしれません – TheUknown

+0

ありがとうございます。スペイン語やイタリア語などの別の言語のエラーメッセージを置き換えることです。 – TTCG

答えて

7

は、フィールドのNULL可能を作成する必要があります動作します。 postデータから、すなわち私の問題は、アクション作成で、私は私がいることを変え、NEWINGアップエンティティ、なしのビューを返すだろうということでしたmodel

+0

私は同じ問題を抱えていますが、私は '[必須]'をオンにしている唯一のフィールドは文字列です。また、エンティティの追加と編集の両方に対して同じコントローラアクションがあります。編集するとき、それはうまくいきます(私がコントローラで何かする前に、 'ModelState'をチェックします)、新しいエンティティを追加するときにこれが動きます。すべてがエンティティ上で全く同じです –

0

Return View(new MyEntity());それは問題を修正への結合を適用する際にMVCは、日付を検証

関連する問題