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));
あなたのモデルはどのように見えますか?あなたはそのソースコードを提供できますか? – JasCav
モデルからソースを追加しました。 – Skadoosh