I think I just solved my own problem. :)
I set the minimum length for province/state and postal code to 0, then (after some poking around to figure out what needed editing) opened up tpl_modules_create_account.php and saved a copy of it in my custom template folder, and commented out line 99:
Code:
// if (zen_not_null(ENTRY_STATE_TEXT)) echo ' <span class="alert" id="stText">' . ENTRY_STATE_TEXT . '</span>';
And part of line 110 as follows:
Code:
<?php echo zen_draw_input_field('postcode', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_postcode', '40') . ' id="postcode"');
// (zen_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="alert">' . ENTRY_POST_CODE_TEXT . '</span>': '');
(remembering to put a semicolon at the point where I broke the line.
I saved the file, went to the create account form, and ta-da! No more "required" asterisk next to those fields. I filled in the form to create a test account, leaving those fields blank, and expecting to still get tripped up by some kind of Javascript verification, and to my astonishment nothing went wrong -- it accepted the form, with no state or postal code.
So I guess it doesn't use Javascript validation for those specific fields, or at least not if they've already been set to 0 in the Minimum Values area of the admin.
So... For anyone else who's wanting to make some customer fields optional, apparently this is how you do it.
Bookmarks