We can make use of the standard operators in the TaskValidation Operators module to perform the taskValidation of the incoming request and capture all the errors as shown below:
By using the TaskValidation operators instead of the Result operators, we collect all the errors:
Example 2
In the above example, all the TryCreate functions return a string list as the error type (Task<Result<'a, string list>>). If these functions instead returned Task<Result<'a, string>> (only a single error), we can use <*^> and <!^> to get the same result: