直接点击事件触发前的表单验证

时间:2013-06-08 15:30:43

标签: c# extjs ext.net

我有一个按钮,我希望在直接点击事件之前形成验证(客户端)。我尝试了许多方法但失败了。

**我已经设置了这样的文本框。

 <ext:TextField ID="Ad" runat="server" FieldLabel="Dem ad" Flex="1" AllowBlank="false" CausesValidation="true"> </ext:TextField>

但即使在文本框检查之前仍然直接启动


<ext:Button ID="Button1" runat="server" Text="save" Icon="Disk">
                                  <DirectEvents>

                                    <Click OnEvent="Dem">
                                        <Confirmation ConfirmRequest="true"  Title="Title" Message="are u sure you want to update..." />

                                    </Click>

                                </DirectEvents>


                            </ext:Button>

1 个答案:

答案 0 :(得分:3)

有几个选择。

  1. 您可以从DirectEvent的Before处理程序或同一个Listener中返回false。

        protected void提交(对象发送者,DirectEventArgs e)     {         X.Msg.Alert(“提交”,“已提交”)。显示();     }

        Ext.NET v2示例              

        <ext:FormPanel ID="FormPanel1" runat="server">
            <Items>
                <ext:TextField runat="server" AllowBlank="false" />
            </Items>
        </ext:FormPanel>
    
        <ext:Button runat="server" Text="Submit">
            <%--<Listeners>
                <Click Handler="return false;" /> it has the same effect as returning false from a DirectEvent's Before.
            </Listeners>--%>
            <DirectEvents>
                <Click OnEvent="Submit" Before="return App.FormPanel1.isValid();" />
            </DirectEvents>
        </ext:Button>
    </form>
    

  2. 另一种方法是使用FormBind。如果FormPanel无效,它会自动禁用组件。组件应属于FormPanel。

        protected void提交(对象发送者,DirectEventArgs e)     {         X.Msg.Alert(“提交”,“已提交”)。显示();     }

        Ext.NET v2示例              

        <ext:FormPanel ID="FormPanel1" runat="server" Width="200">
            <Items>
                <ext:TextField runat="server" AllowBlank="false" />
            </Items>
            <Buttons>
                <ext:Button runat="server" Text="Submit" FormBind="true">
                    <DirectEvents>
                        <Click OnEvent="Submit" />
                    </DirectEvents>
                </ext:Button>
            </Buttons>
        </ext:FormPanel>
    </form>
    

  3. 您可以收听FormPanel的ValidityChange事件以应用一些自定义操作。