ノードでエクスプレスバリデーターを使用してフォームを検証しましたが、オブジェクトを通過するエラーが完全に返されました(これは私のものです):ネストされたオブジェクトは文字列です - オブジェクトとして必要です
{ email:
{ param: 'email',
msg: 'Email address must be between 4-100 characters long, please try again.',
value: '' },
name:
{ param: 'name',
msg: 'Name must be between 3-20 characters long.',
value: '' },
password:
{ param: 'password',
msg: 'Password must include one lowercase character, one uppercase character, a number, and a special character.',
value: '' },
passwordc:
{ param: 'passwordc',
msg: 'Password must be between 8-50 characters long.',
value: '' } }
これは「文字列」であり、残念ながらオブジェクトタイプではないという問題があります。私はこれを、オブジェクトを入れ子にしたオブジェクトに変換する必要があります。
これは有効なJSONではないため、JSON.parseを使用することはできません。
オブジェクトのこの文字列をオブジェクトに変更するにはどうすればよいですか?これはループして関連するエラーを表示できるようにするためのものです。
ありがとうございました。 P.S私はこれにこだわっています - あなたがこれに対する答えを知っているなら、多くのブラウニーは私からあなたに指しています。乾杯!
あなたのJSONは有効ですが、なぜその場合はJSON.parseを使用できませんか? –
JSONLintでこれを確認できますが、無効です。有効なJSONは一重引用符ではなく二重引用符を使用する必要があります。また、すべての鍵も二重引用符で囲む必要があります。私はJSON.parseを実行することができる唯一の方法は、あまりにも多くの正規表現を実行することです、そして、キー名が変わる可能性があるので、それは良い方法ではありません。私は本当にこれで困っている! – Notorious
私は混乱しています、これは有効なJavaScriptオブジェクトであり、文字列ではありません。 – str