My mistake, LiveCycle does not use true or false for logical test, but uses 1 and 0.
if (HasValue(EvidenceYear) == 0) then
$.rawValue = ""
else
$.rawValue = Concat(FileNumberClientID, "-", FileNumberCheckDigit, "-", FileNumberDate, "-")
endif
A clearer way to write the code could be:
if (HasValue(EvidenceYear)) then
$.rawValue = Concat(FileNumberClientID, "-", FileNumberCheckDigit, "-", FileNumberDate, "-")
else
$.rawValue = ""
endif
Because you are using date field fields, you also might want to look at using the "formattedValue" property for the date fields so you do not get the entered string if it is different from the formatted display value.