0

次の問題があります。私のアプリケーションでは、aspxCallbackPanelに2つのテキストボックスがあります。

<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
if (ASPxClientEdit.ValidateGroup('group1')){
    DoPostBack('Save'); 
} else {
    return alert('oops');
}

私の問題への正しいアプローチです

于 2012-07-27T07:34:33.267 に答える
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 に答える