2

私はこのようなクラスを持っています:

[CustomValidation(typeof(Validate_Class_MetaData), "Validate")]
public class tbl_MetaData
{
     [Required(ErrorMessage = "-...")]
    [Range(1, Int64.MaxValue, ErrorMessage = "-...")]
    public global::System.Int64 Id { set; get; }

    ...
}

別のクラスを使用してクラスを検証したい:

public class Validate_Class_MetaData
{
    public static ValidationResult Validate (tblData tbl, ValidationContext vc)
    {

問題は、エラーのある警告がいくつかあることです。つまり、エラーではなくビジネスルールがあり、ダイアログボックスを使用して警告を表示し、ユーザーがその警告のあるレコードを保存する場合は表示します。現在、を使用して複雑なオブジェクトを返すことはできませんValidationResult

どうすれば戻ることができValidationResult.Success、いくつかの警告を一緒にできますか?

ありがとう

4

1 に答える 1

0

残念ながら、ValidationResultクラスは、成功または失敗のいずれかのみをサポートします。リンクから(強調は私のものです):

メンバーの値が正常に検証された場合、返されるValidationResultオブジェクトはSuccessフィールドの値と等しくなります。検証が成功したかどうかを判断するには、返されたオブジェクトが成功と等しいかどうかを確認する必要があります。メンバーの値が検証されない場合、返されるValidationResultオブジェクトには、エラーメッセージと、検証エラーのメンバー名のコレクション(取得できる場合)が含まれます。

たとえば、専用の警告要素を使用してそれにテキストを追加することで独自の警告を実装できますが、ValidationResultはメッセージや警告をサポートしていません。

于 2012-09-09T13:52:42.627 に答える