我在LightSwitch中有一個屏幕,它有一個父實體和一個子實體。我在父實體驗證方法中編寫代碼,驗證子記錄是否符合特定業務規則。當用戶創建或編輯父代時,驗證規則可以正常運行,但只有在編輯該子代時纔會觸發該代碼。每次修改父或子記錄時,我需要在服務器保存時間驗證子項。LightSwitch 2011:驗證孩子
下面是驗證子實體行的總和樣本驗證規則等於100%:
partial void MarketingCampaign_Metrics_Validate(MarketingCampaign_Metric entity, EntitySetValidationResultsBuilder results)
{
if (entity.MarketingCampaign_AllocationRegions.Sum(r => r.RevenuePercent) != Convert.ToDecimal(100))
{
results.AddEntityError("The Regions section Revenue (%) does not equal 100%.");
}
}
我試着調整代碼來做到這一點,但我無法弄清楚如何得到這個來產生驗證錯誤。看來我只能生成在Validate方法中出現在UI中的驗證錯誤。也許我可能已經返回了一個可能已被處理的常規異常,但是我沒有嘗試過,因爲我特意試圖使這些事件顯示在驗證屏幕列表中。 – 2012-07-23 19:46:33