Я не могу точно ответить на ваш вопрос в его нынешнем виде, потому что вы спрашиваете, как использовать недопустимый синтаксис, который невозможен, поскольку он недействителен.
Однако, что я могу Объясните, как JSON работает в JavaScript, и надеемся, что оно решит вашу проблему:
Основы
{}
- это литерал объекта
//this creates a new object
a = {};
//so does this
a = new Object();
[]
является литералом массива
//this creates a new array
a = [];
//so does this
a = new Array();
свойства могут быть доступны через .
и []
запись:
//these are the same
a.b = c;
a['b'] = c;
Литералы объекта могут быть установлены с использованием литеральных значений или строк:
a = {
//any character you can use for a variable name can be
//used to instantiate an object without quotes
b: c,
//special characters need to be quoted
"foo bar baz": "fizz buzz"
};
Ваш оригинальный синтаксис:
rules: {
jform[name]: {
required:true,
minlength:5,
maxlength:15
}
недопустим, поскольку вы не можете использовать [
и ]
символы в имени переменной, однако вы можете использоватьстрока для литерального значения:
rules: {
"jform[name]": {
required:true,
minlength:5,
maxlength:15
}
... которое будет доступно как:
rules["jform[name]"]
, но, похоже, вы хотите получить доступ к данным как:
rules.jform[name]
, который должен быть установлен как:
rules: {
jform: {}
}
...more code...
rules.jform[name] = {rules: {
required:true,
minlength:5,
maxlength:15
};