The example in this documentation sets up a text box that has a value when the page loads. This means that without the user entering a valid value the example can be submitted.
To prevent this either omit an initial value in the text box, or set the InitialValue property on the required field validator so that the text embedded in the control is set as invalid such as:
Name:
<asp:TextBox id="Text1"
Text="Enter a value"
runat="server"/>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
ControlToValidate="Text1"
InitialValue="Enter a value"
Text="Required Field!"
runat="server"/>
<br />
<asp:Button id="Button1"
runat="server"
Text="Validate"/>