Template:Validation.js

From Donate
Revision as of 12:32, 6 April 2017 by Pcoombe (talk | contribs) (validation script from MediaWiki:Resources/validation.js (because of https://phabricator.wikimedia.org/T162300))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

//Should this be here? var amount = null;

function DefaultSubmit(formfield,Action) {

 var keycode;
 if (window.event) keycode = window.event.keyCode;
 else if (Action) keycode = Action.which;
 else return true;
 if (keycode == 13) {
   redirectPayment(</html>'1');
    return false;
  }
  else
    return true;
}

function validateForm(form){

  var minimums = {Template:2012FR/Switch/Currency/Minimums};

  var error = true;

  // Get amount selection
  for ( var i = 0; i < form.amount.length; i++ ) {
    if ( form.amount[i].checked ) {
      amount = form.amount[i].value;
    }
  }

  if ( form.input_amount_other_box.value != "" ) {
    var otherAmount = form.input_amount_other_box.value;
    otherAmount = otherAmount.replace(/[,.](\d)$/, '\:$10');
    otherAmount = otherAmount.replace(/[,.](\d)(\d)$/, '\:$1$2');
    otherAmount = otherAmount.replace(/[\$£€¥,.]/g, '');
    otherAmount = otherAmount.replace(/:/, '.');
    form.input_amount_other_box.value = otherAmount;
    form.amountGiven.value = otherAmount;
    amount = otherAmount;
  }

  // Check amount is a real number
  error = ( amount == null || isNaN( amount ) || amount.value <= 0 );
  // Check amount is at least the minimum
  var currency = form.currency_code.value;
  if ( typeof( minimums[currency] ) == 'undefined' ) {
    minimums[currency] = 1;
  }
  if ( error ) {
    $( "#input_amount_other" ).focus(); 
    $( "#input_amount_other_box" ).focus(); 
    alert( "Please select an amount to donate" );
  } else if ( amount < minimums[currency] ) {
    $( "#input_amount_other_box" ).val( '' );
    $( "#input_amount_other" ).focus(); 
    $( "#input_amount_other_box" ).focus(); 
    alert( "Please select an amount (minimum $1)".replace('$1', (minimums[currency] + ' ' + currency) ) );
    error = true;
  }
  if ( amount > 10000*minimums[currency]) {
    $( "#input_amount_other_box" ).val( '' );
    $( "#input_amount_other" ).focus(); 
    $( "#input_amount_other_box" ).focus(); 
    errorMessageLarge = "We cannot accept donations greater than USD $4 ($1 $2) through our website. Please contact our major gifts staff at $3.<html>";
   errorMessageLarge = errorMessageLarge.replace('$1',10000*minimums[currency]);
   errorMessageLarge = errorMessageLarge.replace('$2',currency);
   errorMessageLarge = errorMessageLarge.replace('$3','benefactors@wikimedia.org');
   alert(errorMessageLarge);
   error = true;
 }
 return !error;

}