之前,服务器端验证Clienside [英] Clienside validation before server side

查看:135
本文介绍了之前,服务器端验证Clienside的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的问题:

1)回发总是发生

2)是看到了正确的方式,如果是的RequiredFieldValidator有效的客户端?

我想什么:

用户点击可见点击按钮。

这将调用isValid()的。

如果网页是有效的,则调用服务器端功能。

如果页面无效DO警报。

 < ASP:按钮的ID =btnSubmit按钮=服务器文本=提交工具提示=提交的CausesValidation =真的CssClass =blueNew buttonNew
                的OnClientClick =isValid()的;返回false; />< D​​IV的风格=显示:无;>
    < ASP:按钮的ID =hiddenBtnSubmit=服务器的OnClick =btnSubmit_Click/>
 < / DIV> <脚本>
功能的isValid(){
    如果(Page_IsValid){
        VAR键=的document.getElementById(<%= hiddenBtnSubmit.ClientID%GT;);
        button.click();
    }其他{
        如果(!reqFirstName.IsValid){
            警报(第一名称是无效的);
        }
    }
}
 < / SCRIPT>


解决方案

不,你只需要添加验证程序是这样的:

 < ASP:文本框=服务器ID =txtEmail/>
< ASP:的RequiredFieldValidator
    的ErrorMessage =电子邮件是必需的
    工具提示=电子邮件是必需的
    文本=(*)
    的ControlToValidate =txtEmail
    =服务器/>
< ASP:的ValidationSummary =服务器DISPLAYMODE =BulletListShowMessageBox =真/>

和审定会,只要你尝试提交表单中的客户机上执行,则不需要手动执行验证

的输出将是这样的:

编辑1

 <脚本类型=文/ JavaScript的>
    功能的validate(){
        变种VAL = Page_ClientValidate('');
        如果(!VAL){
            对于(i = 0; I< Page_Validators.length;我++){
                如果(!Page_Validators [I] .isvalid){
                    $(#+ Page_Validators [I] .controltovalidate).qtip();
                }
            }
        }        返回VAL;
    }
< / SCRIPT>< ASP:按钮的OnClientClick =返回的validate();文本=邮报=服务器/>

My issues:

1) Postback always occurs

2) Is that the correct way to see if requiredFieldValidator is valid client side?

What I would like:

User clicks the visible click button.

This invokes isValid().

If page is valid then invoke server side function.

If page is invalid do alert.

<asp:Button ID="btnSubmit" runat="server" Text="Submit" ToolTip="Submit" CausesValidation="true" CssClass="blueNew buttonNew" 
                OnClientClick="isValid(); return false;" />

<div style="display: none;">
    <asp:Button ID="hiddenBtnSubmit" runat="server"  OnClick="btnSubmit_Click" />
 </div>

 <script>
function isValid() {
    if (Page_IsValid) {
        var button = document.getElementByID("<%=hiddenBtnSubmit.ClientID%>");
        button.click();
    } else {
        if (!reqFirstName.IsValid) {
            alert("First name is invalid");
        }
    }      
}
 </script>

解决方案

Nope, you just have to add the validators like this:

<asp:TextBox runat="server" ID="txtEmail" />
<asp:RequiredFieldValidator
    ErrorMessage="The email is required"
    ToolTip="The email is required"
    Text="(*)"
    ControlToValidate="txtEmail"
    runat="server" />
<asp:ValidationSummary runat="server" DisplayMode="BulletList" ShowMessageBox="true" />

And the validation will be executed on the client whenever you try to submit your form, you do not need to manually execute the validation

The output will be something like:

Edit 1

<script type="text/javascript">
    function validate() {
        var val = Page_ClientValidate('');
        if (!val) {
            for (i = 0; i < Page_Validators.length; i++) {
                if (!Page_Validators[i].isvalid) {
                    $("#" + Page_Validators[i].controltovalidate).qtip();
                }
            }
        }

        return val;
    }
</script>

<asp:Button OnClientClick="return validate();" Text="Post" runat="server" />

这篇关于之前,服务器端验证Clienside的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆