のは、私はそうのようなPOCOを持っているとしましょう: POCOに検証ロジックを入れるべきですか?
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
は、姓と名がnullにすることはできません。
public List<Error> Validate()
{
var errors = new List<Error>();
if (String.IsNullOrEmpty(FirstName))
errors.Add(new Error("FirstName", "You must fill out first name."));
if (String.IsNullOrEmpty(LastName))
errors.Add(new Error("LastName", "You must fill out last name."));
}
Error
がNameValueDictionary
が含まれています構造体です:私はこのような方法で追加する必要があります。これは良いことですか?誰かが最初にValidate()
を実行せずにこのPOCOを保存しようとするリポジトリに問題が発生する可能性があります。
私は前にxValを見てきましたが、私はドキュメンテーションとサンプルの明確な欠如を発見しました。おそらく私はPOCOを使用しているので、もう一度見ていきます。 –
これで、ファイルパス文字列がハードドライブ上の物理ファイルを指し示していることを検証するなど、より高度な検証が必要な場合をどう扱うことになりますか? –
xValを使用すると、カスタム検証属性を作成できます。ここに例のページがあります:http://blog.codeville.net/2009/02/27/xval-08-beta-now-released/ – womp