私のコードは次のようにする必要があります:
rules: {
jform[name]: {
required:true,
minlength:5,
maxlength:15
},
これらの角括弧はどのように使用すればよいですか? このウェブサイトとグーグルで見つかったこの主題に関する多くの回答がありますが、特にこれについてはそうではありません.
私のコードは次のようにする必要があります:
rules: {
jform[name]: {
required:true,
minlength:5,
maxlength:15
},
これらの角括弧はどのように使用すればよいですか? このウェブサイトとグーグルで見つかったこの主題に関する多くの回答がありますが、特にこれについてはそうではありません.
無効な構文を使用する方法を尋ねているため、無効であるため不可能であるため、現在の質問に正確に答えることができません。
ただし、私にできることは、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();
.
プロパティはand[]
記法でアクセスできます://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
}
[
変数名にand chars を使用できないため無効ですが]
、リテラル値に文字列を使用できます。
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
};
obj = {
"rules" : {
"jform" : {
"name" : {
required:true,
minlength:5,
maxlength:15
}
}
}
},
このような値にアクセスできるようになりました
obj[rules][jform][name]
jform[name]
オブジェクトのキーの値が必要だと思います。オブジェクト リテラルを宣言するときに、変数をキーとして使用することはできません。このキーを別のステートメントとして追加する必要があります。
例:
var data = {
rules: {
}
};
data.rules[jform[name]]= {
required:true,
minlength:5,
maxlength:15
};
キーを文字通りにしたい場合は、キーをjform[name]
引用符で囲む必要があります。
rules: {
"jform[name]": {
required:true,
minlength:5,
maxlength:15
}
}
JSONのことですか?それとも JavaScript オブジェクト リテラルですか? 質問から流行語「jQuery」を削除してください。
(角)括弧付きのプロパティ名が必要な場合は、次のいずれかを実行できます
rules = {
"jform[name]": {
required:true,
minlength:5,
maxlength:15
}
}
また
rules["jform[name]"] = {...};