Javascript 服务器端之前的客户端验证
我的问题: 1) 回发总是发生的 2) 这是查看requiredFieldValidator是否在客户端有效的正确方法吗 我想要的是: 用户单击可见的单击按钮 这将调用isValid() 若页面有效,则调用服务器端函数 如果页面无效,请发出警告Javascript 服务器端之前的客户端验证,javascript,jquery,asp.net,postback,Javascript,Jquery,Asp.net,Postback,我的问题: 1) 回发总是发生的 2) 这是查看requiredFieldValidator是否在客户端有效的正确方法吗 我想要的是: 用户单击可见的单击按钮 这将调用isValid() 若页面有效,则调用服务器端函数 如果页面无效,请发出警告 <asp:Button ID="btnSubmit" runat="server" Text="Submit" ToolTip="Submit" CausesValidation="true" CssClass="blueNew buttonNew
<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>
函数isValid(){
如果(第页有效){
var按钮=document.getElementByID(“”);
按钮。单击();
}否则{
如果(!reqFirstName.IsValid){
警报(“名字无效”);
}
}
}
不,您只需添加如下验证程序:
<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" />
当您尝试提交表单时,验证将在客户机上执行,您不需要手动执行验证
输出类似于:
编辑1
函数验证(){
var val=页面\客户端验证(“”);
如果(!val){
对于(i=0;i
我想以定制的方式显示返回消息?最好的方法是什么?您可以使用ValidationSummary
控件显示所有错误消息,我将更新帖子以添加示例好的,验证摘要仅显示纯文本我想在回发上使用qtip工具提示显示错误消息这可能吗?Val始终返回null我是否尝试快速执行上述操作?还是应该这样做?val应该返回true或false,我仍然在测试qtip工具提示是否显示,我以前没有使用过qtip,但是val
变量仍然有效。如果不在您的情况下,请在调用Page\u ClientValidate
函数时指定您的ValidationGroup
。如果您不使用valdiation group,请使用空字符串调用它
<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" />