ローカライズが必要な MVC 3 アプリケーションがあります。私の整数の場合、MVCは自動的に数値検証を追加しますが、フィールドをnull可能としてマークしました。
これは私のViewModelにあります:
public int? UserValidity
{
get { return this.Company.UserValidity; }
set { this.Company.UserValidity = value; }
}
これは私のモデルにあります:
public Nullable<int> UserValidity { get; set; }
MVC がこの検証を null 非許容フィールドに対してのみ追加することを読みましたが、私の場合は null 許容フィールドに対しても実行しています。
その理由は何ですか?
実際、私のアプリケーションでは、すべての検証メッセージを多言語にする必要があるため、これらのメッセージを db から取得するカスタム バリデータを作成する必要があります。しかし、MVC の自動生成されたバリデーターは私のバリデーターよりも優先され、しかも英語のみです。