2012-04-02 7 views
5

フォームにはいくつかの必須フィールドがあります。私が必須のフィールドにいて、入力キーを押すと、フォームは提出しません。しかし、必須ではないフィールド上にいる場合は、入力キーを押すとフォームが送信されます。これは、フォームを送信すると検証が実行され、検証サマリが上部に表示されるため、問題があります。必要なフィールドにいる場合、この検証は実行されません。それはそれ自身の検証であり、私のエラーテキスト(これは単なるアスタリスクです)を表示するようですが、人々はこれを見ていません。asp.net requiredフィールドバリデーターは入力ボタンフォームの送信を無効にします

必須ではないフィールド入力キーがフォームを送信する理由は分かりますが、必須のフィールド入力キーはありません。

答えて

0

これまで説明したことから、サーバー側の検証を使用しているようです。検証ツールでEnableClientScriptをfalseに設定してください。これにより、クライアント側の検証が無効になります。

これが十分でない場合は、送信ボタンを次のようにクリックされた検証上書きすることができます:私は、サーバーとクライアント側の検証の両方を使用してい

<script type="text/javascript"> 
    validateForm = function(){ 
     var isValid = Page_ClientValidate(""); 
     if (isValid){ 
      //some custom logic if needed 
     } 
     return true; //do the postback even if validation fails? 
        //otherwise return isValid 
    } 
</script> 
<asp:Button ID="Button1" runat="server" OnClientClick="return validateForm();" ... /> 
+0

を。なぜ私はクライアント側の検証を使用したくないのですか?バリデータのクライアント側の検証をfalseに設定すると、フォームを送信する必須フィールドがありません。これもアイデアではない。私は、textareaフィールド以外のフィールドは、必須であるかどうかにかかわらず入力を打つときにフォームを送信することを期待しています。 –

+0

そのため、私はあなたのニーズに合った検証プロセスを操作するための例を提供しました。 –

+0

あなたはすべてのフィールドにフォームを送信させるのではなく、送信しないようにして、ボタンをクリックするだけです。 –

関連する問題