MonoRail: как убрать проверку прототипа? - PullRequest
0 голосов
/ 30 декабря 2010

Я поддерживаю приложение с монорельсом, и мы решили изменить метод проверки для Jquery. Пока все хорошо, но ... проблема у меня в том, что я не могу избавиться от ссылки на предыдущий метод проверки, который является прототипом.

Дело в том, что Javascript всегда помещается после тега, который я создаю.

<script type="text/javascript">
if (!window.prototypeValidators) prototypeValidators = $A([]);
var validator = new Validation('form1', {onSubmit:true, focusOnError:true, stopOnFirst:false, immediate:true, useTitles:true});
prototypeValidators['form1'] = validator;
</script>

Мне не удалось найти четкую документацию о методах проверки монорельсовой дороги.

И это приводит к некоторым ошибкам в браузере, например:

$A is not defined
[Break On This Error] if (!window.prototypeValidators) prototypeValidators = $A([]); 

Будем весьма благодарны за любую помощь или указатели в правильном направлении для документации об этом или о том, как удалить этот вид проверки из монорельса.

Заранее спасибо

MetalGeorge

PS. я должен сказать, что я довольно плохо знаком с монорельсом

1 Ответ

0 голосов
/ 30 декабря 2010

Вы можете переключиться на генерацию jQuery (по умолчанию, как вы уже заметили, Prototype) с помощью свойства JSGeneratorConfiguration в конфигурации Monorail.См. http://hammett.castleproject.org/?p=238 для справки.

Или вы можете полностью избавиться от создания проверки формы, заменив:

$Form.FormTag("%{action='LoginAction'}")
...
$Form.EndFormTag()

обычным тегом формы:

<form method="post" action="$Url.For("%{action='LoginAction'}")">
...
</form>
...