MVC アプリケーションのモデルで、クラス レベルでカスタム バリデータを使用しています。そのため、カスタムバリデーター内で、条件に基づいてエラーメッセージを生成し、MVC に戻って以下のように要約リストに割り当てようとしています。モデル名はこちら「被保険者」
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
string errorMessage = "";
//StringBuilder errorMessage1 = new StringBuilder();
var model = value as Insured;
if (model == null)
{
return new ValidationResult("No valid Session exists.");
}
else
{
if (model.Age > 19)
errorMessage += " <li> Age cannot be greater than 19. </li> " + Environment.NewLine;
}
return new ValidationResult(errorMessage);
}
など、すべてのテキストをエラーメッセージ文字列に追加します。しかし、ページに表示すると、Environment.NewLine を使用しているため、次の行にそれぞれを表示するのではなく、すべてを 1 行に表示します。
\n\r などで試してみ<br/>
たのですが、すべてhtmlではなくテキストで表示されてしまいます。
文字列ビルダーも使用しようとしました。
表示中:<li> Age cannot be greater than 19. </li><li> Another error. </li>
それ以外の
編集: firebug から編集して HTML に入り、生成されたエラー メッセージ内にスペースを入れるだけで、すべてが完全に整列されます。これはとても奇妙で、問題を理解していません。