At the moment, PatronSelfRegistrationVerifyByEmail forces you to use the "email" field for email verification regardless of the value of AutoEmailPrimaryAddress.
Admittedly this is challenging. If "AutoEmailPrimaryAddress" is set to "OFF", we don't know what field to make mandatory, since "OFF" uses "first_valid_email_address". If we knew the order of fields used in "first_valid_email_address" (using code logic and not hard-coding assumptions), I suppose we could make mandatory the "first" field checked in "first_valid_email_address"... I suppose we could also create a new system preference like "PatronSelfRegistrationVerifyEmailField"... that would require the fewest changes...
Perhaps we make whichever field is indicated by the syspref mandatory? And if the syspref is off and we're using first_valid_email_address, then we make the form require a value in at least one of the email fields?
(In reply to Andrew Fuerste-Henry from comment #2) > Perhaps we make whichever field is indicated by the syspref mandatory? And > if the syspref is off and we're using first_valid_email_address, then we > make the form require a value in at least one of the email fields? Agreed although that'll also take the most work heh. I don't think I have a work mandate to do that work, unfortunately.