Запретить ввод минимальных и максимальных значений - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь запретить пользователю переходить от указанного параметра c числового значения, скажем, от 1 до 9999,99. У меня есть несколько входных значений, которым я назначил идентификаторы. Я использую оператор switch для установки их параметров (min и max), поэтому первый будет от 1 до 9999,99, второй - от 1 до 999,99, третий - от 1 до 99,99. Тем не менее, я все еще могу вводить эти значения и не задумываться о своих ограничениях, может кто-нибудь, пожалуйста, поделитесь своими мыслями, все еще пытаясь проработать это. Спасибо за любую помощь

function getMinMax(ctrlId) {
  let min = 0;
  let max = 9999;
  switch (ctrlId) {
    case "aID":
      min = 1;
      max = 99999.99;
      break;
    case "bID":
      min = 1;
      max = 999.99;
      break;
    case "cID":
      min = 1;
      max = 99.99;
      break;
       }
  return { min: min, max: max };
}

async function checkMinMax(ctrl) {
  let value = await ctrl.value();
  if(value === '') return;
  let ctrlId = await ctrl.id;
  let minMax = getMinMaxForField(ctrlId);
  let isNotANumber = Number.isNaN(value);
  if(!isNotANumber && Number.parseFloat(value) >= minMax.min && Number.parseFloat(value) <= minMax.max) {
    ctrl.value(value);
  } else {
    alert('Please enter a value between  ' + minMax.min + ' and ' + minMax.max + '.')
    ctrl.value('');
  } 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...