Short answer: change the case for the Check button to:
If text on QuantEntered does not equal “[[Number * 1]]”)
Show Error
This has to do with Axure using the same “var type” for both strings and numbers, so I think it turns out in your prototype you are comparing a number to a string (where 3 does not equal “3” --if that makes any sense) --and Axure isn’t converting the var types correctly, the way you would expect. …Or it’s something like that.
You can force Axure to treat a variable (global variable, local variable (the LVAR1 pointer), or function return) as a “true number” if you perform some math with it. I think of this as “manually converting” a string to a number. The simplest way to do this is [[LVAR1 * 1]] , or in your example with a global variable named “Number”, [[Number * 1]].
Now I’m scratching my head because I thought the fix would be to “manually convert” the text value on your Text Field (named “QuantEntered”) to a number and comparing that to the global variable, named “Number” which you set to a random number in OnPageLoad event. But that doesn’t do it. However, when I converted the global variable (using [[Number * 1]] ) it works correctly.
I checked this out (no pun intended) on RP9 and the same behavior (bug) happens. Confusing.