2012-03-04 17 views
1

Html.ValidationMessageFor()メソッドを使用して、フォームに検証メッセージを表示しています。ほとんどのフォームフィールドでは、いくつかのフィールドを除いて、適切なエラーメッセージが表示されています。 1つはフォーム上のテキストボックスである「生年月日」フィールドで、もう1つは「州」フィールドです。これは米国のすべての州でドロップダウンされています。この2つのフィールドには、「DateOfBirthフィールドは必須です。」というメッセージが表示されます。 「状態フィールドは必須です。」Html.ValidationMessageFor()メソッドでの一貫性のない動作

私はリフレクターを起動し、Html.ValidationMessageFor()静的メソッドのコードを見ましたが、これらのメソッドがこのメッセージを追加しているようには見えませんでした。

このメッセージの内容は、&からどうぞ。

更新日 モデルコードの追加...基本的には、私はCSLAのトリミングダウンバージョンを使用しています。ビジネス・ルールは、作成時にクラスに追加され、一度起動されると、適切なメソッドが呼び出されます。基本的に、 'rule.ErrorMessage'は、ValidationMessageForがエラーをリストするときに表示されるべきものです。これは、DateofBirth & Stateプロパティを除く他のすべてのプロパティで機能します。

モデルのコード

プロパティ:

public Guid UserId { get; set; } 
public Guid PatientId { get; set; } 
public string FirstName { get; set; } 
public string LastName { get; set; } 
public string Email { get; set; } 
public string Phone1 { get; set; } 
public string Phone2 { get; set; } 
public string Address1 { get; set; } 
public string Address2 { get; set; } 
public string City { get; set; } 
public States State { get; set; } 
public string Zip { get; set; } 
public DateTime DateOfBirth { get; set; } 
public string EmergencyName { get; set; } 
public string EmergencyPhone { get; set; } 
public string EmergencyRelation { get; set; } 

ビジネスルール:

this.AddValidation(new DataValidation("DateOfBirth", "DateOfBirthRequired", 
    delegate(DataValidation rule) 
    { 
     rule.ErrorMessage = "required"; 
     return ((DateOfBirth >= new DateTime(1900, 1, 1)) && (DateOfBirth < DateTime.Today)); 
    }, DataAction.Update | DataAction.Insert)); 
this.AddValidation(new DataValidation("State", "StateRequired", 
    delegate(DataValidation rule) 
    { 
     rule.ErrorMessage = "required"; 
     return (State != States.Unknown); 
    }, DataAction.Insert | DataAction.Update)); 
+0

あなたのモデルはどのように見えますか?あなたはそのソースコードを提供できますか? – JasCav

+0

モデルからソースを追加しました。 – Skadoosh

答えて

0

私が行うために必要なすべてで述べたようにnullとしてプロパティを設定することでしたthis post

関連する問題