0

我有以下问题: 在我的应用程序中,我在 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');
    }

然而什么也没有发生。当我尝试提醒已验证时,什么都没有出现...任何想法为什么,这是进行客户端验证的正确方法吗?

4

2 回答 2

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;
   }
 }
}
于 2012-07-26T09:22:06.640 回答
0
if (ASPxClientEdit.ValidateGroup('group1')){
    DoPostBack('Save'); 
} else {
    return alert('oops');
}

是解决我的问题的正确方法

于 2012-07-27T07:34:33.267 回答