javascript - 服务器端之前的客户端验证

标签 javascript jquery asp.net postback

我的问题:

1)回发总是发生

2)这是查看 requiredFieldValidator 客户端是否有效的正确方法吗?

我想要什么:

用户单击可见的单击按钮。

这会调用 isValid()。

如果页面有效,则调用服务器端函数。

如果页面无效,请发出警报。

<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>

最佳答案

不,您只需添加验证器,如下所示:

<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" />

每当您尝试提交表单时,验证都会在客户端执行,您不需要手动执行验证

输出将类似于:

enter image description here

编辑 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" />

关于javascript - 服务器端之前的客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443006/

相关文章:

javascript - 从拖动的元素获取 HTML5 自定义数据属性

javascript - jqplot错误: Uncaught Canvas dimension not set

javascript - 发出 JSON RPC API 的 GET 请求而不是 POST 请求

javascript - 防止 ko 单击绑定(bind)到可拖动?

c# - ASP.net WebAPI Controller 目录/路由

c# - 清理数据库返回数据

c# - 为什么 cookie.domain 设置两个 cookie?

javascript - 在 AngularJS 中使用 ng-style 和百分比值设置 HTML 元素宽度

javascript - 使用URL.createObjectURL()处理来自数据库的Blob图像

javascript - 如何将文件切成碎片并在 Javascript FileApi 中恢复它