Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/CS/ASPxEditorsDemos/Validation/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/CS/ASPxEditorsDemos/Validation/Inplace.aspx

<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Inplace.aspx.cs"
    Inherits="Validation_Inplace" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentHolder" runat="server">
    <script type="text/javascript">
    // <![CDATA[
        function OnNameValidation(s, e) {
            var name = e.value;
            if(name == null)
                return;
            if(name.length < 2)
                e.isValid = false;
        }
        function OnAgeValidation(s, e) {
            var age = e.value;
            if(age == null || age == "")
                return;
            var digits = "0123456789";
            for(var i = 0; i < age.length; i++) {
                if(digits.indexOf(age.charAt(i)) == -1) {
                    e.isValid = false;
                    break;
                }
            }
            if(e.isValid && age.charAt(0) == '0') {
                age = age.replace(/^0+/, "");
                if(age.length == 0)
                    age = "0";
                e.value = age;
            }
            if(age < 18)
                e.isValid = false;
        }
        function OnArrivalDateValidation(s, e) {
            var selectedDate = s.date;
            if(selectedDate == null || selectedDate == false)
                return;
            var currentDate = new Date();
            if(currentDate.getFullYear() != selectedDate.getFullYear() || currentDate.getMonth() != selectedDate.getMonth())
                e.isValid = false;
        }
    // ]]>
    </script>
    <div id="clientContainer">
        <table class="OptionsTable" runat="server" id="serverContainer">
            <tr>
                <td style="width: 80px;">                
                    <dx:ASPxLabel runat="server" ID="NameLabel" AssociatedControlID="NameTextBox" Text="Name:" />
                </td>
                <td>
                    <dx:ASPxTextBox runat="server" EnableClientSideAPI="True" Width="160px" ID="NameTextBox"
                        ClientInstanceName="Name" OnValidation="NameTextBox_Validation">
                        <ValidationSettings SetFocusOnError="True" ErrorText="Name must be at least two characters long">
                            <RequiredField IsRequired="True" ErrorText="Name is required" />
                        </ValidationSettings>
                        <ClientSideEvents Validation="OnNameValidation" />
                    </dx:ASPxTextBox>
                </td>
            </tr>
            <tr>
                <td>
                    <dx:ASPxLabel runat="server" ID="AgeLabel" AssociatedControlID="AgeTextBox" Text="Age:" />
                </td>
                <td>
                    <dx:ASPxTextBox runat="server" EnableClientSideAPI="True" Width="160px" ID="AgeTextBox"
                        ClientInstanceName="Age" OnValidation="AgeTextBox_Validation">
                        <ValidationSettings SetFocusOnError="True" ErrorText="Age must be greater than or equal 18" />
                        <ClientSideEvents Validation="OnAgeValidation" />
                    </dx:ASPxTextBox>
                </td>
            </tr>
            <tr>
                <td>
                    <dx:ASPxLabel runat="server" ID="EmailLabel" AssociatedControlID="EmailTextBox" Text="E-mail:" />
                </td>
                <td>
                    <dx:ASPxTextBox runat="server" EnableClientSideAPI="True" Width="160px" ID="EmailTextBox"
                        ClientInstanceName="Email">
                        <ValidationSettings SetFocusOnError="True">
                            <RegularExpression ErrorText="Invalid e-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />
                            <RequiredField IsRequired="True" ErrorText="E-mail is required" />
                        </ValidationSettings>
                    </dx:ASPxTextBox>
                </td>
            </tr>
            <tr>
                <td>                
                    <dx:ASPxLabel runat="server" ID="ArrivalLabel" AssociatedControlID="ArrivalDateEdit"
                        Text="Arrival date:" />
                </td>
                <td>
                    <dx:ASPxDateEdit runat="server" Width="160px" ID="ArrivalDateEdit"
                        ClientInstanceName="ArrivalDate" OnValidation="ArrivalDateEdit_Validation">
                        <ValidationSettings SetFocusOnError="True" ErrorText="Arrival date is required and must belong to the current month">
                            <RequiredField IsRequired="True" ErrorText="" />
                        </ValidationSettings>
                        <ClientSideEvents Validation="OnArrivalDateValidation" />
                    </dx:ASPxDateEdit>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <table>
                        <tr>
                            <td>
                                <dx:ASPxButton ID="btnOk" runat="server" Text="OK" />
                            </td>
                            <td style="padding-left: 8px">
                                <dx:ASPxButton ID="btnReset" runat="server" AutoPostBack="False" Text="Reset"
                                    CausesValidation="False">
                                    <ClientSideEvents Click="function(s, e) { ASPxClientEdit.ClearEditorsInContainerById('clientContainer') }" />
                                </dx:ASPxButton>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    
    <div style="margin-top: 48px;">
        <div style="float: left">
            <div>ErrorDisplayMode:</div>
            <div class="TopPadding">
                <dx:ASPxRadioButtonList ID="rblErrorDisplayMode" runat="server"
                    OnSelectedIndexChanged="OnSettingsChanged"
                    SelectedIndex="0" AutoPostBack="True">
                    <Items>
                        <dx:ListEditItem Value="ImageWithText" />
                        <dx:ListEditItem Value="ImageWithTooltip" />
                        <dx:ListEditItem Value="Text" />
                        <dx:ListEditItem Value="None" />
                    </Items>
                </dx:ASPxRadioButtonList>
            </div>
        </div>
        <div style="float: left" class="LeftPadding">
            <div>
                &nbsp;
            </div>
            <div class="TopPadding">
                <dx:ASPxCheckBox ID="chbValidateOnLeave" runat="server" Checked="True" OnCheckedChanged="OnSettingsChanged"
                    AutoPostBack="True" Text="ValidateOnLeave" />            
            </div>
            <div class="TopPadding">
                <dx:ASPxCheckBox ID="chbSetFocusOnError" runat="server" OnCheckedChanged="OnSettingsChanged"
                    AutoPostBack="True" Text="SetFocusOnError" />
            </div>
        </div>
    </div>    
      
</asp:Content>