我有以下问题:在我的应用程序中,我在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');
}
然而,什么也没发生。当我尝试验证警报时,什么都没有出现。。。有什么想法吗?为什么以及这是进行客户端验证的正确方法吗?
在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;
}
}
}
if (ASPxClientEdit.ValidateGroup('group1')){
DoPostBack('Save');
} else {
return alert('oops');
}
是解决我的问题的正确方法