json_encode を使用して文字列を作成し、メタデータとして JQuery Validate (bassistance バージョン) に渡すことに問題があることがわかりました。これは、JQuery Validate が気に入らない引用符でブール値を囲みます。json_encode への入力は次のとおりです。
Array
(
[messages] => Array
(
[required] => notEmpty
)
[required] => true
)
出力は
{"messages":{"required":"notEmpty"},"required":"true"}
しかし、JQuery Validate はそれを無視します。ただし、コードをハックして次のように変更すると:
{"messages":{"required":"notEmpty"},"required":true}
検証は正しく機能します (true を二重引用符で囲んでいないことに注意してください)。
ブール値に関連する json_encode のオプションは見当たりませんでしたが、(独自の json_encode を記述する以外に) Validate に必要な形式で文字列を取得するオプションはありますか?