我有以下问题: 在我的应用程序中,我在aspxCallbackPanel中有两个文本框
<dx:ASPxTextBox ID="txtCognome" runat="server" Width="270px" ReadOnly="True">
<ValidationSettings CausesValidation="True" ErrorText="Cognome can't be blank"
SetFocusOnError="True" ValidationGroup="group1">
<RequiredField IsRequired="True" />
</ValidationSettings>
</dx:ASPxTextBox>
<dx:ASPxTextBox ID="txtNome" ClientInstanceName="nome" runat="server" Width="270px" ReadOnly="True">
<ValidationSettings CausesValidation="True" SetFocusOnError="True"
ValidationGroup="group1">
<RequiredField IsRequired="True" />
</ValidationSettings>
</dx:ASPxTextBox>
据我所知,我只添加了一个RequiredFieldValidation。但是,在我做回发之前的某个特定时刻,我想看看页面是否有效:
var validated = Page_ClientValidate('group1');
if (validated){
DoPostBack('Save');
} else {
return alert('mamata si e ebalo');
}
然而没有任何反应。当我尝试提醒已验证时,没有任何内容出现......任何想法为什么并且这是进行客户端验证的正确方法?
答案 0 :(得分:0)
在javascript中我们使用return false来停止回发,就像这样
var validated = Page_ClientValidate('group1');
if (validated){
DoPostBack('Save');
} else {
return alert('mamata si e ebalo');
return false;
}
编辑:
将此包装成像这样的函数
function validate() //javascript function
{
if (typeof(Page_ClientValidate) == 'function')
{
var validated = Page_ClientValidate('group1');
if (validated){
DoPostBack('Save');
} else {
return alert('mamata si e ebalo');
return false;
}
}
}
答案 1 :(得分:0)
if (ASPxClientEdit.ValidateGroup('group1')){
DoPostBack('Save');
} else {
return alert('oops');
}
是解决我问题的正确方法