Как прикрутить JavaScript к кастомному валидатору?

Dmitriy71

Люди, объясните темному: как средствами VS прикрутить к кастомному валидатору клиентский JavaScript? Куда тыкать надо? Пробовал пихнуть скрипт в aspx-файл, но при компиляции он его игнорирует, кажется.

Elina74

Круто завернул... но я ничего не понял. По-моему слова "кастомный валидатор" не являются необходимыми в постановке задачи...

evgen5555

прикрутить к кастомному валидатору клиентский JavaScript?
Они же на клиентских Javascript-ах как раз и базируются? Ничего не понял.

Dmitriy71

Короче, я пишу валидатор кастомный. У него есть атрибут ClientValidatorFunction, который указывает на мой JavaScript клиентский. Серверную проверку я прикручиваю через EventHandler как это обычно и делает VS (фоновый код). А куда скрипт пихать? В тело aspx-файла? Не работает.

Dmitriy71

Может как и в случае с основным кодом web-формы нужно вынести коды скриптов в отдельный файл и прикрутить его к файлу исходной формы? Если да, то как?

evgen5555

Ботай MSDN, чуве.

Dasar

> А куда скрипт пихать? В тело aspx-файла? Не работает.
Как ты понял, что это не работает?
Ты этот скрипт из под события пробовал вызывать?

Dasar

> Если да, то как?
Также как в обычном html-е

Dmitriy71

В смысле, ты не знаешь ответ или я настолько безнадежен?

Dmitriy71

Из под какого события? Это же клиентский скрипт, который выполняется до возврата формы и, значит, никакого события не генерится.

Dasar

> который выполняется до возврата формы
Как, в твоем случае, IE узнает, когда этот скрипт надо выполнить?

Dmitriy71

> Как, в твоем случае, IE узнает, когда этот скрипт надо выполнить?
При нажатии какой-нибудь кнопки, которая возвращает форму. Тут выполняется скрипт, на который ссылается валидатор. Если данные проверку прошли, то происходит возврат формы в противном случае -- нет

Dasar

> Тут выполняется скрипт, на который ссылается валидатор.
Так ты вставил вызов своего скрипта или нет?

Dmitriy71

Вот я и спрашиваю, как енто сделать! Я сделал так в теле aspx-файла:
...
<asp:CustomValidator ... ClientValidationFunction="__validateNumber" ... runat="server"/>
...
<script language="javascript">
<!-
function __validateNumber(source, args)
{
...
}
->
</script>
Но нифига не работает.

freezer

поставь там window.alert(1); - вроде ж должно вызываться...

Dmitriy71

Не, алертбокс мне не нужен. Фишка как раз в том, что сообщение должно выводиться в самой веб-форме, там, где располагается валидатор. И он и не вызывается

freezer

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

Dmitriy71

В том то и дело, что не вызывается.

freezer

минимальный код клади в котором воспроизводится

evgen5555

<script blablabla>
<!-
function blablabla ...
->
</script>
Угодай, почему ничего не вызывается, хуле.

durka82

Попробуй сделать вызов через атрибут onLoad тега body.

Dmitriy71

Сорри, забыл удалить коменты, кагда постил. Копи-паст.
Но дело не в них.

evgen5555

Ну так запость кейс - исходники, действия, результаты, хуле.
Оставить комментарий
Имя или ник:
Комментарий: