ASP.NET validator controls can run either on the client (using JavaScript) or on the server. The 'runat=server' attribute makes the control server-side, but many validators including RangeValidator can also generate client-side validation script. The behavior depends on settings like EnableClientScript.