Проблема при динамическом подключении пользовательского валидатора к элементу управления - PullRequest
0 голосов
/ 25 января 2011

У кого-нибудь есть идея, почему этот код не работает?

<script type="text/javascript">
    function BookDeskValidation(source, arguments) {
        var deskCombo = $find("<%=RadComboBoxDesk.ClientID%>");
        var bookCombo = $find("<%=RadComboBoxBook.ClientID%>");
        if (bookCombo.get_text() != "" && deskCombo.get_text() == "") {
            arguments.IsValid = false;
        }
        else {
            arguments.IsValid = true;
        }
    }

    function AttachValidator(combobox) {
        var validator = document.getElementById("<%= CustomValidatorDeskBook.ClientID %>");
        validator.controltovalidate = combobox.get_id();
        validator.ClientValidationFunction = "BookDeskValidation";
        ValidatorHookupControl(combobox, validator);
    }
</script>

<td>Book:&nbsp;</td>
        <td>
            <telerik:RadComboBox ID="RadComboBoxBook" runat="server" OnClientFocus="AttachValidator">
            </telerik:RadComboBox>
        </td>

<td width="70">Desk:&nbsp;</td>
            <td width="100">
                <telerik:RadComboBox ID="RadComboBoxDesk" runat="server" OnClientFocus="AttachValidator">
                </telerik:RadComboBox>
            </td>
<asp:CustomValidator ID="CustomValidatorDeskBook" runat="server" 
            ErrorMessage="Error" 
            ClientValidationFunction="BookDeskValidation" ForeColor="Red">*</asp:CustomValidator>

OnClientFocus срабатывает, но пользовательский валидатор, похоже, не присоединяется, потому что при выходе из элемента управления, к которому должен быть присоединен валидатор, проверка не выполняется

Спасибо!

1 Ответ

2 голосов
/ 25 января 2011

Хорошо, мне удалось получить эту работу.Вот что я сделал.Если кто-нибудь знает лучший способ сделать это или если то, что я сделал для решения проблемы, не правильно, пожалуйста, дайте мне знать!

Итак, вот что я сделал:избавился от функции ValidatorHookupControl и заменил ее на ValidatorEnable для события OnClientDropDownClosed

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