Hi all,

as a newbie in web2py I have encountered a problem with my web2py
application. I want one part of the form to be optional, but the form
is created by the SQLFORM.factory and one of its optional fields is a
dropdown list, which uses "requires=IS_IN_SET...", thus forcing a user
to choose a value, which is not desired behavior.
The optional part of the form is connected with the checkbox, when it
is checked the part appears and when it is unchecked it hides (using
jquery), therefore the user in some cases doesnt even see the field.
Could you please give me a hint how to bypass the validation, or how
to do the trick differently?

In controller i have:
def index():
    form = SQLFORM.factory(
                Field('uac', 'boolean', default=True),
                Field('server_ip', requires=IS_IPV4()),
                Field('local_ip_uac'),
                Field('uac_scenario',
requires=IS_IN_SET(functions.list_dir('/mnt/jro/ng/pbx/
scenarios'),zero='Choose one')),

                Field('uas', 'boolean', default=False),
                Field('local_ip_uas'),
                Field('uas_scenario',
requires=IS_IN_SET(functions.list_dir('/mnt/jro/ng/pbx/
scenarios'),zero='Choose one')),
                ....

In view I have this jquery code:
<script>
jQuery(document).ready(function(){
   jQuery('#input_form_local_ip_uas__row').hide();
   jQuery('#input_form_uas_scenario__row').hide();
   jQuery('#input_form_uas').change(function(){
        if(jQuery('#input_form_uas').attr('checked')) {
            jQuery('#input_form_local_ip_uas__row').show();
            jQuery('#input_form_uas_scenario__row').show();}
        else {
            jQuery('#input_form_local_ip_uas__row').hide();
            jQuery('#input_form_uas_scenario__row').attr('disabled',
'disabled');}});
});
</script>

Reply via email to