````
public void function $validatesConfirmationOf() {
local.virtualConfirmProperty = arguments.property & "Confirmation";
if (
StructKeyExists(this, local.virtualConfirmProperty) && this[arguments.property] != this[local.virtualConfirmProperty]
) {
addError(property = local.virtualConfirmProperty, message = $validationErrorMessage(argumentCollection = arguments));
}
if (arguments.caseSensitive && (Compare(this[arguments.property], this[local.virtualConfirmProperty]) != 0)) {
addError(property = local.virtualConfirmProperty, message = $validationErrorMessage(argumentCollection = arguments));
}
}
````
That first condition circumvents the validation if the confirmation property isn't there at all. That should be a fail straight away, eg:
```
public void function $validatesConfirmationOf() {
local.virtualConfirmProperty = arguments.property & "Confirmation";
if (!StructKeyExists(this, local.virtualConfirmProperty)) {
return addError(property = local.virtualConfirmProperty, message = "you MUST specify the confirmation property if yer asking me to validate it!"));
}
// rest of it
}
```
Same issue exists in 1.4.x, which is where it's biting me.