Насчет возможности перекрытия validateField или validateWrite ничего сказать не могу, но думаю, что это невозможно.
А проверять первичный индекс на валидность можно непосредственно на сервере б/д в триггерах before insert. В принципе и для Oracle и для MS SQL можно написать скрипт, который будет бежать по метаданным и генерить скрипты для добавления соответствующих триггеров, так что по трудоемкости это будет не безумная задача