ASP.NET MVCアプリケーションでは、フォームがあり、ViewModelを使用しているため、ModelBinderは厳密に型指定されたクラスにバインドできます。私は検証のためにDataAnnotationsを使用しています無効 '' yyy 'メッセージの値' xxx 'は無効です
public class FormViewModel
{
[Required]
public string SomeValue {get;set;}
[Range(0, 10, ErrorMessage="Enter a number between 0 and 10.")]
public byte? SomeOtherValue {get;set;}
}
これは素晴らしいです。ただし、ユーザーがSomeOtherValue(abcなど)の有効な値を入力しないと、問題が発生します。標準のMVCエラーがポップアップします。 '値' abc 'は' SomeOtherValue 'には無効です。私はこのメッセージをカスタマイズすることができないので、これは本当に面倒です。私はこのメッセージをローカライズする方法があることを知っていますが、それはちょうど意味がありません(私は一般的なメッセージは望ましくありません。
私はRegularExpression属性を 'SomeOtherValue'に適用しようとしましたが、これはバイト値のみを許可しますが、おそらく標準検証でこの検証を上書きします。プロパティのカスタム '値が有効ではありません'というメッセージを適用する方法はありますか?そうでなければ標準メッセージを無効にしますか?
が、これは...そのメッセージとそのフィールドのすべてのエラーを置き換えます、あなたが余分なチェックを行うと、それは「値」で始まる場合にのみ、エラーを置き換えることができ、など – MikeSmithDev