ASP.NET - Using SetFocusOnError property in validation control

Set focus on error in validation
The following asp.net c# tutorial code demonstrates how we can set the focus on error in validation. In this tutorial, we used the RequiredFieldValidator control to validate TextBox. In the RequiredFieldValidator web server control, we set focus on the error feature. The RequiredFieldValidator web server control makes the associated input control a required field.

The RequiredFieldValidator SetFocusOnError property gets or sets a value that indicates whether the focus is set to the control specified by the ControlToValidate property when validation fails.

The SetFocusOnError property value is a Boolean. This property value is true to set focus on the control specified by ControlToValidate when validation fails otherwise its value is false. The default is false. So the asp.net c# developers can enable focus on error feature by using this SetFocusOnError property in validation control. They just have to set the SetFocusOnError property value to true.

The asp.net c# developers can use the SetFocusOnError property to specify whether focus is automatically set to the control specified by the ControlToValidate property when this validation control fails. This allows the web page user to quickly update the appropriate control. If multiple validation controls fail and this property is set to true then the control specified in the ControlToValidate property for the first validation control receives focus.
ValidationSetFocusOnError.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e) {
        Label1.Text = "Your Country: " +
            TextBox1.Text.ToString() +
            "<br />City: " +
            TextBox2.Text.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Validation example: using SetFocusOnError property in validation control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Font-Size="Large" ForeColor="DarkTurquoise"></asp:Label>
        <br />
        <asp:Label ID="Label2" runat="server" Text="Country Name" AssociatedControlID="TextBox1"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator
             ID="RequiredFieldValidator1"
             runat="server"
             ControlToValidate="TextBox1"
             ErrorMessage="Input Country Name!"
             SetFocusOnError="true"
             >
        </asp:RequiredFieldValidator>
        <br />

        <asp:Label ID="Label3" runat="server" Text="City Name" AssociatedControlID="TextBox2"></asp:Label>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator
             ID="RequiredFieldValidator2"
             runat="server"
             ControlToValidate="TextBox2"
             ErrorMessage="Input City Name!"
             SetFocusOnError="true"
             >
        </asp:RequiredFieldValidator>
        <br />
        
        <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" />
    </div>
    </form>
</body>
</html>


Related asp.net example