Проверка формы Wix - PullRequest
       30

Проверка формы Wix

0 голосов
/ 06 мая 2020

Во-первых, я полный нуб. Я только недавно начал хорошо разбираться в python и почти ничего не знаю о javascript и corvid для wix. Я просматриваю документацию, но не могу понять, как сделать следующее: когда пользователь заполняет поле, скажем, поле номера телефона, как вы проверяете, есть ли в этом поле алфавитные символы или «+» или « - «эт c или нет?

Я пытаюсь сделать что-то вроде этого:

$w.onReady(function () {
  $w("#input1").onCustomValidation( (value, reject) => {
 if( input1 is anything but an integer ) {
      reject("Only Numbers. No '-', '.', '()', '+', or any alphabetical characters");
 }
  } );
});

Я чувствую, что близок, но понятия не имею. Любая помощь приветствуется

1 Ответ

0 голосов
/ 06 мая 2020

Чтобы ответить на ваш вопрос:

Включает функцию

Вы хотели бы использовать функцию .includes () , встроенную в javascript который возвращает логическое значение, если оно включено или нет. Если вам нужен строковый индекс каждого вхождения, вам нужно будет использовать a для l oop, как показано ниже.

var string = "+54 2453-2534-242";

for(int i = 0; i < string.length(); i++){
  if(string.substr(i,1) === "-"){
    console.log(i);
  }
}

Включает функцию

Функция замены

Ниже приведен пример использования этой функции. Если вы используете sh, чтобы удалить эти или один из этих символов, вы можете использовать функцию .replace () или .split () и .join () функций.

const string = "+53 573-2566-242";
const character_1 = "+";
const character_2= "-";

// Includes
console.log(string + ".includes(+):", string.includes(character_1));
console.log(string + ".includes(-):",string.includes(character_2));

// Replace Singular
var new_string = string.replace(character_1,'');
console.log(new_string);

// Replace Multiple
var new_string2 = string.split(character_2).join("");
console.log(new_string2);

Replace Funtion

Если вы все еще застряли, не стесняйтесь комментировать

Редактировать

Для проверки наличия любых буквенно-цифровых c символов в строке. Вы можете просто использовать функцию .replace () и сравнить ее. Как показано ниже:

var string = "abc546"; // Your Phone Number Input
var string_converted = string.replace(/\D/g,''); 

if(string !== string_converted){
  console.log("Contains Characters that are not of type NUMBER!");
  
  console.log(`${string} vs ${string_converted}`);
}

В вашем случае вы можете использовать следующий код:

$w.onReady(function () {
  $w("#input1").onCustomValidation( (value, reject) => {
     // Assuing *value* is your input
     
     var converted = value.replace(/\D/g,'');
     if(value !== converted){
        // Regective Statment Here..
     }else{
        // All good! (No Alph-numeric Characters)
     }
     
  });
});
...