One thing of note:
I am testing the same thing ont he LiteHausWPF app with Verification and I get the same result. I check the verifiers after the ValidateEmployee method is ran. If I add my verifier that basically just checks that firstname has some value in it, it does not show up in the collection. The other verifiers defined by IdeaBlade are present. If I comment your verifiers out, like:
//verifiers.Add(GetHireDateRangeVerifier());
//verifiers.Add(new BirthDateRangeVerifier());
//verifiers.Add(GetBornBeforeHiredVerifier());
//verifiers.Add(GetPhoneNumberVerifier(Employee.PropertyMetadata.HomePhone));
The collection changes and removes thos but still doesn't show mine.
public class VerifierProvider : IVerifierProvider {
#region IVerifierProvider Members
public IEnumerable<Verifier> GetVerifiers(object verifierProviderContext) {
List<Verifier> verifiers = new List<Verifier>();
//verifiers.Add(GetHireDateRangeVerifier());
//verifiers.Add(new BirthDateRangeVerifier());
//verifiers.Add(GetBornBeforeHiredVerifier());
//verifiers.Add(GetPhoneNumberVerifier(Employee.PropertyMetadata.HomePhone));
verifiers.Add(NameRequiredVerifier());
return verifiers;
}
#endregion
}
private static Verifier NameRequiredVerifier()
{
Verifier v = new DelegateVerifier<Employee>("First Name is required", MinLengthCondition);
v.AddTrigger(new TriggerItem(typeof(Employee), Employee.PropertyMetadata.FirstName.Name));
v.VerifierOptions.ExecutionModes = VerifierExecutionModes.OnBeforeSetTriggers;
return v;
}
private static VerifierResult MinLengthCondition(Employee address, TriggerContext triggerContext, VerifierContext verifierContext)
{
return new VerifierResult(triggerContext.ProposedValue.ToString().Length > 0);
}…..}