Can no longer modifiying priceset amounts in hooks in 5.1.2
You can use Build Amount hook to alter the price. If you want to trigger the change on form submit than you can use $form->_flagSubmitted. This is set to true when form is submitted. You can also use buildform or post process hook. But validateForm is a bad option.

function xxx_civicrm_buildAmount($pageType, &amp;$form, &amp;$amount) {
  if (get_class($form) == 'CRM_Event_Form_Registration_Register' &amp;&amp; $form-&gt;_flagSubmitted) { 
    foreach ($amount as $key =$value) {
      foreach ($value['options'] as $pid =$value) {
        $amount[$key]['options'][$pid]['amount'] = $value['amount'] - ($value['amount'] * 0.1);
      }
    }
  }
}


HTH

Pradeep