# HG changeset patch # User IBBoard # Date 1304261156 0 # Node ID 8781e53c59bb4e46598a00c87a6baae23879a1e8 # Parent 777725613edb8f68ed707f096a35422c83b9cc1a Re #345: Add failure message to requirements * Return message for each failure (don't stop at first one) diff -r 777725613edb -r 8781e53c59bb API/Objects/Requirement/RequirementHandler.cs --- a/API/Objects/Requirement/RequirementHandler.cs Sun May 01 14:33:27 2011 +0000 +++ b/API/Objects/Requirement/RequirementHandler.cs Sun May 01 14:45:56 2011 +0000 @@ -2,6 +2,7 @@ // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. using System; +using System.Collections.Generic; namespace IBBoard.WarFoundry.API.Objects.Requirement { @@ -15,15 +16,22 @@ } public static Validation ValidateArmy (Army army) + { + ICollection ignored; + return ValidateArmy(army, out ignored); + } + + public static Validation ValidateArmy (Army army, out ICollection failureMessages) { - Validation result = Validation.Passed; + Validation result = Validation.Passed; + failureMessages = new List(); foreach (IRequirement requirement in army.GetRequirements()) { if (!Validates.AsOkay(requirement.ValidatesArmy(army))) { - result = Validation.Failed; - break; + result = Validation.Failed; + failureMessages.Add(requirement.GetValidationMessage(army)); } }