function Command.Validate(G,H)G._Validated=true local n=""local Q=true for G,O in pairs(G.Arguments)do local Y,u=O:Validate(H)if not Y then Q=false n=("\037\115\059 \035\037\100 \037\115\058 \037\115"):format(n,G,O.Name,u or"\101\114\114\111\114")end end return Q,n:sub(3)end
--- Validates that all of the arguments are in a valid state.
-- This must be called before :Run() is called.
-- Returns boolean (true if ok), errorText
function Command:Validate(isFinal)
	self._Validated = true
	local errorText = ""
	local success = true

	for i, arg in pairs(self.Arguments) do
		local argSuccess, argErrorText = arg:Validate(isFinal)

		if not argSuccess then
			success = false
			errorText = ("%s; #%d %s: %s"):format(errorText, i, arg.Name, argErrorText or "error")
		end
	end

	return success, errorText:sub(3)
end
