-1

私は、常にポストバックを行う結果に関係なく、asp.net クライアント側の検証を開始するブラウンフィールド サイトに取り組んでいます。検証に失敗した場合、この動作を停止するアイデアはありますか?

前もって感謝します。

ポッジ

4

5 に答える 5

0

私の場合、ClientValidationFunction が欠落している CustomValidators がいくつかありました。

この問題を引き起こす可能性のある JavaScript エラーがページにないことを確認してください。

于 2016-12-14T22:07:25.070 に答える
0

Custom Validator コントロールの w3schoolsまたはMSDNリンクを利用できます。クライアント側の検証を実行できます。使用

<asp:CustomValidator id="CustomValidator1" runat="server" 
    ErrorMessage="Number not divisible by 2!" 
    ControlToValidate="txtCustomData" 
    OnServerValidate="ServerValidate" 
    ClientValidationFunction="CheckEven" /><br>
Input:
<asp:TextBox id="txtCustomData" runat="server" />
<script language="javascript">
<!--
function CheckEven(source, args) {
    var val = parseInt(args.Value, 10);
    if (isNaN(val)) {
        args.IsValid = false;
    }
    else {
        args.IsValid = ((val % 2) == 0);
    }
}
// -->
</script>
于 2012-08-22T08:48:43.937 に答える
0

私は同じ動作をしていましたが、CausesValidation プロパティを True に設定して修正しました。

于 2013-03-04T20:09:10.183 に答える
0

例: textbox を検証し、空のポストバックが呼び出されない場合は、ポストバックが呼び出されます。

ボタンクリックイベント:

<asp:TextBox id="vTextBox" runat="server" />

<asp:button id="okButton" runat="server OnClick="okButton_Click" OnClientClick=" return isValidate();"/>

<script type="text/javascript"> 


function isValidate() {   var txt = $("#vTextBox").val();  
if ( txt === "") {  alert("error"); return false; }
else { alert(" no error "); return true; } }
</script>
于 2013-10-01T13:24:20.903 に答える
-1

クライアント検証の場合、検証のためにいくつかの JS 関数を呼び出す必要があります。

ボタンのクリックでクライアント側の検証メソッドを呼び出す場合は、以下のように呼び出す必要があります。

<asp:Button runat="server" id ="btnSubmit" onClientClick="return ValidateForm();" >

Validate Form メソッドは true または false を返す必要があります。

お気に入り :

function ValidateForm()

{

/// Validation goes here 

if (validated)
{
  return true;
}
else{
  return false;
}
}
}
于 2012-08-22T08:46:34.717 に答える