2010-12-12 4 views
2

で、クライアントとサーバーのバリで唯一のクライアント側の検証を表示しますもしテキストボックスが空であれば "サーバー側でそれを検証しても問題ありませんが、javascriptが有効な場合は、クライアント側の検証とサーバー側のラベルを一緒に表示したくありません。これは、JavaScriptが有効になっていればクライアント側のバリデータを無効にしなければならないものですか?はasp.net

答えて

1

実際には、単一のバリデーターを使用して、クライアントとサーバーの両方の検証を行うことができます。 ASP.Netは、あなただけの助けを借りて、クライアントのみ、またはクライアントとサーバーを起動するかどうかを決定します。クライアントの検証のみに頼るべきではありませんが、サーバの検証は黙っていてもかまいません。つまり、2つのエラーメッセージが返される必要はありません。

したがって、独自のステータスラベルは必要ありません。ページから発生したイベントハンドラにチェックを追加する必要があります。

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    if(!Page.IsValid) 
    { 
     return; 
    } 
} 
1

はい。 :)

私はあなたの質問を理解しているとは確信していません。自分で答えたようです。このRequiredFieldValidatorのクライアント側の検証を無効にして、必要なものを実現できませんか?

<asp:RequiredFieldValidator runat="server" ControlToValidate="test" 
    ErrorMessage="Required" EnableClientScript="False"/> 
0

私は疑問があるとは確信していませんが、JavaScriptコードで検証を実行してPostBackを避けることができます。

var doSomething = function(sender, args){ 
if(Page_IsValid){ 
    //Do something cool 
    return true; 
}else{ 
    return false; 
} 
} 

私は仕事で今日、いくつかの同様の問題に直面していた、以下のリンクを参照してください、それは深さ http://msdn.microsoft.com/en-us/library/aa479045.aspx

ASP.NET Valildation非常に便利です