I figured out how to circumvent the bug.
Go into every "Protocol" field and enter a value, any value, like 1, into all the Protocol fields for every QoS rule.
Do not enter any IPs or a name in them, except for the one you actually want to use.
After that, you can save the page and function as normal.
This worked on my DIR-657, Hardware Version: A1, Firmware Version: 1.01
There is still a bug where it lets you enter port numbers for an "Any" protocol.