You need to change the expression, so to check for empty, you need to use a comparison. Try the following...
$TaskToValidate/DueDate = empty or $TaskToValidate/DueDate >= [%CurrentDateTime%]
I hope this helps.
I'm trying this process:
MF_ValidateTask (Validation Before Saving)
Ensures a non-empty title and a future date.
In App Explorer, right-click Microflows > Add Microflow.
Name: MF_ValidateTask > OK.
Drag Parameter (lightning bolt icon) > Name: $TaskToValidate, Type: Task > OK.
Drag Exclusive Split (decision):
Click on the decision > Properties > Expression:
$TaskToValidate/Title != empty
Branch No connects to:
Show message > Message: Task title is required! > OK.
End event to abort.
From the Yes branch, add another Exclusive Split:
Expression:
empty($TaskToValidate/DueDate) or $TaskToValidate/DueDate >= [%CurrentDateTime%]
(It's giving an error because of the '('))
Branch No:
Show message > The due date must be today or in the future.
End event. Final Yes branch:
Change Object > Object: $TaskToValidate > set nothing (just passes straight through).
Show message > Validation ok!
End event.
Save the microflow