Using a value that has embedded single ticks, the ticks will be wiped when using the following example:
[CustomAttributes.ConditionalRequired("Field=='Doctor's Office'" ...
This should come out to "Doctor's Office", not "Doctors Office" due to the unguarded/greedy string.replalce() used. Only the first/last tick should be removed.
Fix: change ExpressionParser._GetValue()
OLD:
if (valueString.StartsWith("'") && valueString.EndsWith("'"))
return valueString.Replace("'", string.Empty);
NEW:
if (valueString.StartsWith("'") && valueString.EndsWith("'"))
return valueString.Substring(1, valueString.Length - 2);