Написание кода javascript с использованием javascript внутри файла javascript

Это может быть глупый вопрос, но позвольте мне спросить. Я хочу присвоить объект или фрагмент кода переменной как строку и использовать ее или действовать позже как код.

code_string = "rules:{hotel_name:{required: true, lettersonly: true}}";

var validator = $('#create_hotels').validate({
    print code_string;
    //  How will I call code_string here to act as below ?
});

// want it working like this

var validator = $('#create_hotels').validate({
    rules:{hotel_name:{required: true, lettersonly: true}},
});

Почему бы не использовать JSON.stringify и JSON.parse? вы не совсем передаете код, вы передаете информацию.

PiniH 18.07.2019 13:29

Почему бы просто не сохранить как объект? const rules = {hotel_name:{required: true, lettersonly: true}} ..... $('#create_hotels').validate(rules)

mplungjan 18.07.2019 13:30

Я немного обновил свой вопрос, пожалуйста, покажите мне рабочий пример.

mohsin 18.07.2019 13:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
64
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

С очень небольшим изменением вы можете просто проанализировать свою строку в объект javascript.

Изменение состоит в том, чтобы включить { и } в строку, а также отформатировать строку как действительный json, что включает перенос ключей в ".

var code_string = '{"rules":{"hotel_name":{"required": true, "lettersonly": true}}}';

Теперь вы можете использовать JSON.parse:

var validator = $('#create_hotels').validate(JSON.parse(code_string));

У меня есть элемент submitHandler и error, а также то, как он с ними работает

mohsin 18.07.2019 13:51

@mohsin вы изменили вопрос с момента публикации этого ответа. Возможно, вам лучше отменить его (чтобы не аннулировать этот и другие ответы) и задать другой вопрос. Но, короче говоря, у вас будут проблемы со строковой версией обработчика отправки. Не невозможно, но может представлять проблему безопасности

Jamiec 18.07.2019 13:54

Я возвращаю свой вопрос, но, пожалуйста, если вы можете показать мне пример submitHandler, это будет здорово

mohsin 18.07.2019 13:57

@mohsin вы можете передать строку конструктору Function и выполнить его. jsfiddle.net/kwr5xe23 Это ОЧЕНЬ плохая идея. Это замаскировано. См.: blogs.msdn.microsoft.com/ericlippert/2003/11/01/… и javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval.

Jamiec 18.07.2019 14:00

на самом деле у меня много форм, и я думаю о решении для проверки нескольких форм

mohsin 18.07.2019 14:02

Упрощено, но вам должно быть легко его расширить.

Как насчет чего-то подобного?

const isValid = {
    name: str => str.length > 3,
    age: int => {
        const MIN_AGE = 18;
        const MAX_AGE = 65;
        if (isNaN(int)){
            return false;
        }
        return age >= MIN_AGE && age <= MAX_AGE;
    }
}

const john = { name: 'John', age: 21 };
const sarah = { name: '', age: 99 };

isValid['name'](john.name); // true
isValid['age'](john.age); // true

isValid['name'](sarah.name); // false
isValid['age'](sarah.age); // false

Меня этот ответ смущает - при чем тут вопрос?!

Jamiec 18.07.2019 13:41
code_string = '{"rules":{"hotel_name":{"required": true, "lettersonly": true}}}';

var validator = $('#create_hotels').validate({
    print JSON.parse(code_string);
});

следуйте синтаксису json при создании строки... затем преобразуйте ее в json, где вам это нужно

Другие вопросы по теме