在asp.net中遇到客户端验证

时间:2012-07-26 09:13:47

标签: asp.net validation devexpress client-side

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

然而没有任何反应。当我尝试提醒已验证时,没有任何内容出现......任何想法为什么并且这是进行客户端验证的正确方法?

2 个答案:

答案 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');
}

是解决我问题的正确方法