Подход или реализацию для валидации форм?
Вы вообще представляете, какую головную боль вы хотите доставить пользователю подобной формой?
необязательного поля, но, если оно заполнено, то оно должно соответствовать определённому условию,
нескольких необязательных полей, но хотя бы одно из них должно быть заполнено,
нескольких необязательных полей, но, если заполнено одно из них, то должны быть заполнены и остальные?
Как вы хотите объяснить заполняющему форму соответствие того, что вводить нужно, а что не нужно? Даже если вы и сможете это сделать, то все равно большинство людей будет мягко говоря в замешательстве. В формах не нужна такая «гибкость», все должно быть просто и очевидно. Объединяйте поля, модернизируйте форму для максимальной простоты.
Взгляните на реализацию валидатора в фреймворке Kohana 3 — считаю его хорошим примером. Реализовать проверку при условии заполненности определенных полей можно с помощью колбэков, если я верно понял, о чем речь.