当初、バリデーターはなく、すべてが正常に機能していました
Webユーザーコントロールには、Jqueryポップアップダイアログでパネルを開くボタンがあります。そのパネルにはいくつかのTextBoxがあります。
それからRegularExpressionValidatorが来て、私は腹を立てています
最大長を確保するために、複数行のテキストボックスにRegExValidatorsを追加しました。それらは機能しますが、JQueryダイアログを閉じてもう一度開こうとすると、「nullのプロパティ値を読み取れません」というエラーが発生します。方法は次のとおりです。
ダイアログを閉じたとき:
$("#" + PanelClientId)
.dialog({
autoOpen: false,
hide: tipoHide,
modal: true,
title: titulo,
width: ancho,
height: alto,
close: function(ev, ui) { $(this).remove();}
});
バリデーターコントロールはnullですが、クライアント検証ルーチンがトリガーされて失敗します
function ValidatorGetValue(id) {
var control;
control = document.getElementById(id);
if (typeof(control.value) == "string")
私が言ったように、コントロールがヌルだからです。
私を助けてください
私は自分の貧弱な英語で自分自身を明確にしたことを願っています。これを解決するのを手伝ってください。検証の前にクライアント側のイベントを追加することを考えています。そこで、ControlToValidateをバリデーターに割り当てますが、これまで、検証の前に実行されるイベントを追加することはできませんでした。
だから家族、これを読んでくれてありがとう、そしてあなたの貴重な助けに感謝します。
これが私のバリデーターコードです:
<asp:TextBox runat="server" ID="txtJustificacionSpeaker" TextMode="MultiLine" Wrap="true"
Rows="4" Width="90%" CssClass="TextoMultilineaScrollAuto"></asp:TextBox>
<asp:RegularExpressionValidator id="revJustificacionSpeaker" runat="server"
ErrorMessage="*" ToolTip="La justificación no puede exceder 2000 caracteres" ValidationExpression="^([\S\s]{0,2000})$" ControlToValidate="txtJustificacionSpeaker" />