Пользовательский валидатор asp.net не имеет атрибута controltovalidate при обратной передаче - PullRequest
0 голосов
/ 03 апреля 2012

Я использую свой плагин jQuery с пользовательским валидатором asp.net на странице:

<asp:TextBox ID="txtModel" runat="server" />
<asp:CustomValidator ID="modelValidator" Display="Static" ControlToValidate="txtModel" ClientValidationFunction="validateDetails" EnableClientScript="true" runat="server" Text="My Message" />

<script type="text/javascript">

function validateDetails(sender, args) {
    var controltovalidate = $(sender).attr('controltovalidate');
    args.IsValid = $('#' + controltovalidate).data('MyPlugin').hasValidValue();
}

    $(function() {
        $('#<%=txtModel.ClientID %>').MyPlugin({
            validator: $('#<%=modelValidator.ClientID %>') //In order to execute validation check when values inserted
        });
    });
 </script>

Как видите, это дополнение к выполнению валидатора при обратной передаче, я хочу выполнить валидатор внутри плагина ипоэтому я передал валидатор в настройках плагина.
Всякий раз, когда плагин выполняет валидатор (используя ValidatorValidate(options.validator.get(0));, функция validateDetails работает отлично.
Проблема в пост-возврате. Когда я нажимаю на кнопку, которая делает постбэкфункция validateDetails не работает на var controltovalidate = $(sender).attr('controltovalidate');, поскольку отправитель внезапно не имеет атрибута controltovalidate. Почему это так?

1 Ответ

0 голосов
/ 03 апреля 2012

@ Naor: попробуйте вызвать функцию jquery для события нажатия кнопки и проверить значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...