チェックアウトプロセスで旧式のASP.NET検証(ugh)を使用しています。私はチェックボックスを持っています - "私はクレジットカードの詳細と一緒に電話します" - 。これをチェックすると、クライアントとポストバックの両方でクレジットカード番号に必要なフィールドバリデーターとccバリデーターを無効にする必要があります。チェックボックスがオンになっている場合、一部のASP.Net検証コントロールを無効にする
どうすればよいですか?あなたはサーバー側バリデータを無効にすることができ
チェックアウトプロセスで旧式のASP.NET検証(ugh)を使用しています。私はチェックボックスを持っています - "私はクレジットカードの詳細と一緒に電話します" - 。これをチェックすると、クライアントとポストバックの両方でクレジットカード番号に必要なフィールドバリデーターとccバリデーターを無効にする必要があります。チェックボックスがオンになっている場合、一部のASP.Net検証コントロールを無効にする
どうすればよいですか?あなたはサーバー側バリデータを無効にすることができ
あなたは(ジャバスクリプト中)バリクライアント側を無効にすることができます
validatorIdはのクライアントIDであるfunction disable(validatorId)
{
var validator = document.getElementById(validatorId);
ValidatorEnable(validator, false);
}
無効にするバリデータ。完全な例については、this pageを参照してください。
:
MyFieldValidator.Enabled = MyCheckBox.Checked
Page.Validate()
If Page.IsValid Then
'stuff
end if
あなたは、サーバー側を無効にしているなら、あなたはあなたがバリデータの多くを持っており、それらすべてを無効にする必要がある場合、これはより有用であるあなたのCheckChangedEventに
button1.CausesValidation = False
を行うことができます。
プロテクトvoid NoValidation_CheckedChanged(オブジェクト送信者、EventArgs e) { SubmitButton.CausesValidation =!NoValidation.Checked; } –
それをチェックし、それに応じて行動します - ありがとうございます。 –
既存のバリデータメッセージを隠すために、ValidatorEnable()の後に以下を追加する必要がありました。 validator.isvalid = true; ValidatorUpdateDisplay(バリデータ); –
これらのバリデータのjQueryセレクタを使用する方がよいでしょう。例えば、hiddenなどの一般的なCSSの状態を持つ可能性があります。 – Jaider