Это может быть глупый вопрос, но позвольте мне спросить. Я хочу присвоить объект или фрагмент кода переменной как строку и использовать ее или действовать позже как код.
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}},
});
Почему бы просто не сохранить как объект? const rules = {hotel_name:{required: true, lettersonly: true}} ..... $('#create_hotels').validate(rules)
Я немного обновил свой вопрос, пожалуйста, покажите мне рабочий пример.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


С очень небольшим изменением вы можете просто проанализировать свою строку в объект 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 вы изменили вопрос с момента публикации этого ответа. Возможно, вам лучше отменить его (чтобы не аннулировать этот и другие ответы) и задать другой вопрос. Но, короче говоря, у вас будут проблемы со строковой версией обработчика отправки. Не невозможно, но может представлять проблему безопасности
Я возвращаю свой вопрос, но, пожалуйста, если вы можете показать мне пример submitHandler, это будет здорово
@mohsin вы можете передать строку конструктору Function и выполнить его. jsfiddle.net/kwr5xe23 Это ОЧЕНЬ плохая идея. Это замаскировано. См.: blogs.msdn.microsoft.com/ericlippert/2003/11/01/… и javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval.
на самом деле у меня много форм, и я думаю о решении для проверки нескольких форм
Упрощено, но вам должно быть легко его расширить.
Как насчет чего-то подобного?
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
Меня этот ответ смущает - при чем тут вопрос?!
code_string = '{"rules":{"hotel_name":{"required": true, "lettersonly": true}}}';
var validator = $('#create_hotels').validate({
print JSON.parse(code_string);
});
следуйте синтаксису json при создании строки... затем преобразуйте ее в json, где вам это нужно
Почему бы не использовать JSON.stringify и JSON.parse? вы не совсем передаете код, вы передаете информацию.