Я хотел бы отключить проверку на стороне клиента для определенных полей в моей пользовательской форме. В настоящее время у меня есть два набора полей, которые отображаются в зависимости от значения предыдущего выпадающего списка. т.е. если в раскрывающемся списке задано значение «A», в форме появится 1 новое поле. Если в раскрывающемся списке задано значение «B», в форме появятся 3 новых поля (взаимоисключающие от нового поля формы при выборе «A»). В настоящее время моя проверка на стороне клиента Dojo не проходит, потому что поля, которые не отображаются пользователю (и, следовательно, данные не могут быть вставлены в эти поля), не могут быть проверены.
В настоящее время я определил, что могу установить атрибут «validate» для возврата true, например:
<input type="text" id="companycity" name="companycity" class="textinput" value="<?php echo set_value('companycity'); ?>" style="<?php if(isset($errorData['companycity'])){echo $errorData['companycity'];} ?>"
dojotype="dijit.form.ValidationTextBox"
required="true" trim="true" validate='return true'"
regexp="([a-zA-Z]{1,25})"
invalidMessage="Invalid value. Must be between 1 and 25 alphabetic characters long.">
Это исправляет мою проблему со скрытыми полями. Однако теперь это означает, что проверка не выполняется, когда это поле становится видимым для пользователя (т. Е. Атрибут validate по-прежнему имеет значение true).
Я попытался удалить свойство validate, когда пользователю отображается поле, например:
dijit.byId('companycode').attr('validate','');
Это просто устанавливает атрибут в ничто. Это, однако, приводит к ошибкам в firebug, говоря, что метод validate не найден, поэтому я предполагаю, что это означает, что я не удалил этот атрибут правильно или удаление этого атрибута не является подходящим способом сделать это.
Я также рассмотрел переопределение метода валидатора здесь , но это тоже не похоже на то, что я хочу. Я не хочу переписывать все методы валидации вместо додзё.
Я просто хочу, чтобы dojo не проверял, если поле не видно пользователю. Спасибо за любой совет или помощь.