0
さまざまな種類のページに多数のASP.NETバリデータがありますが、そのうちのいくつかは、JavaScriptの使用によるページのユーザー選択に応じて無効にしています。CustomValidatorの問題
これが機能するとバリデータは、私は他のバリデータの種類
<asp:CheckBoxList id="BodyPartsList" runat="server" RepeatColumns = "2"
Width="1023px">
<asp:ListItem Text = "0. Head/headaches" Value = "1"></asp:ListItem>
<asp:ListItem Text = "1. Leg(s)" Value = "2"></asp:ListItem>
<asp:ListItem Text = "2. Arm(s)" Value = "3"></asp:ListItem>
<asp:ListItem Text = "3. Neck" Value = "4"></asp:ListItem>
<asp:ListItem Text = "4. Shoulder(s)" Value = "5"></asp:ListItem>
<asp:ListItem Text = "5. Low Back" Value = "6"></asp:ListItem>
<asp:ListItem Text = "6. Upper Back" Value = "7"></asp:ListItem>
<asp:ListItem Text = "7. Feet" Value = "8"></asp:ListItem>
<asp:ListItem Text = "8. Hand(s)" Value = "9"></asp:ListItem>
<asp:ListItem Text = "9. Other(Describe in "Details of Plan")" Value = "10"></asp:ListItem>
</asp:CheckBoxList>
<asp:CustomValidator ID="PainLocationValidator" runat="server" Display="Dynamic"
ErrorMessage="Location of pain is required."
ClientValidationFunction="checkPainListValidate"
ValidationGroup = "OnSave" EnableClientScript= "true" SetFocusOnError= "true" Width = "100%" CssClass = "pain" />
function checkPainListValidate(sender, args) {
args.IsValid = true;
if ($('#<%= BodyPartsList.ClientID %> input:checked').length > 0)
args.IsValid = true;
else
args.IsValid = false;
}
ですが、なぜでしょうを使用することはできませんいつでも私が使用している任意のCustomValidatorsを除くすべてのケースを中に発射していないようですか?私もそれらを無効にするために何かできますか?
ありがとうございました。
感謝を私はクライアント側でそれを検証していますので、 'ClientValidationFunctionを使って、更新を見てください。それを行う。 4.バリデータを無効にすると、すべてのポストバックで検証されますか? – Victor
@Victor:ポイント1は、私が部分的に削除しただけのタイプミスです(空のテキストは、ValidateEmptyTextをtrueに設定しないと決して検証されませんが、ここでは役に立ちません)。バリデータを無効にしたいと思ったので、ポストバックで検証するのはなぜですか?バリデータとClientValidationFunctionを無効にするjsコードも表示します。 jsをデバッグして何が起こるかを確認します。 –
@Timはい、バリデータを無効にしようとしています。なぜそれがまだアクティブでポストバックが起こっていないのか不思議です。このクラスにはいくつかのバリデータがあり、CustomValidatorだけがアクティブのままです。 – Victor