You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it possible to set constraints to an int option so that it have min and max allowed values? I think that's a pretty common scenario, but the following fails:
With this exception: System.InvalidOperationException: Scalar option specifications do not support range specification.
If the library does not provide this functionality how would I implement it on my own and still play nicely with the auto help and error messages that the library automatically outputs on invalid input?
As per the wiki, the Min and Max only apply to IEnumerable.
I agree, it's a pretty common scenario, and I tried doing the same you did.
My work around is validating the options manually, and displaying an error message, along with the help text. It would be nice to have an option to add errors to the list of errors though, so it shows in the help text.
I have this Extension method:
public static HelpText AddErrors(this HelpText helpText, IEnumerable<string> errors)
{
helpText.AddPreOptionsLine("\nERROR(S):"); // Simulating the ERROR(S)'s header
helpText.AddPreOptionsLines(errors); // You might want to format your errors by prefixing with 2 spaces to match the original
return helpText;
}
Something like this would be nicer:
var helpText = HelpText.AutoBuild(parserResult);
helpText.AddErrorLine("Quality needs to be between 1 and 100.");
// helpText.AddErrorLines(["", "", ...]);
// helpText.AddErrorText("");
Console.WriteLine(helpText);
Activity
[-]How to validate an int option?[/-][+]How to add constraints to an int option?[/+]ShadowXPA commentedon Aug 19, 2025
As per the wiki, the
MinandMaxonly apply toIEnumerable.I agree, it's a pretty common scenario, and I tried doing the same you did.
My work around is validating the options manually, and displaying an error message, along with the help text. It would be nice to have an option to add errors to the list of errors though, so it shows in the help text.
I have this Extension method:
Something like this would be nicer: