{"id":2624,"date":"2015-10-22T13:31:00","date_gmt":"2015-10-22T05:31:00","guid":{"rendered":"http:\/\/blog.hoyo.idv.tw\/?p=2624"},"modified":"2024-06-17T11:09:46","modified_gmt":"2024-06-17T03:09:46","slug":"jquery-validationengine-v2-6-2","status":"publish","type":"post","link":"https:\/\/blog.hoyo.idv.tw\/?p=2624","title":{"rendered":"jQuery.validationEngine v2.6.2"},"content":{"rendered":"<p>--<\/p>\n<h2>\u524d\u8a00<\/h2>\n<p>\u4e4b\u524d\u4f7f\u7528\u00a0jQuery Validation\u00a0\uff0c\u5728\u6aa2\u7d22\u6642\u770b\u5230\u4e86\u4e00\u5f35\u5716<\/p>\n<p><img loading=\"lazy\" class=\"alignnone\" src=\"https:\/\/github.com\/posabsolute\/jQuery-Validation-Engine\/raw\/master\/css\/screenshot.png\" alt=\"\" width=\"461\" height=\"374\" \/><\/p>\n<p>\u624d\u77e5\u9053\u9019\u662f\u53e6\u5916\u4e00\u500b jQuery Plugin \uff0c\u5c0d\u65bc\u9810\u8a2d\u7684\u8a2d\u8a08\u7406\u5ff5\u4f86\u8aaa\uff0cjQuery.validationEngine \u7684\u932f\u8aa4\u63d0\u9192\u4e0d\u6703\u7834\u58de\u539f\u8868\u55ae\u6392\u7248\uff0c\u6bd4\u8f03\u4e0d\u9700\u8981\u7cfe\u7d50\u8868\u55ae\u7d50\u69cb\u8a2d\u8a08\uff0c\u5c24\u5176\u662f\u7248\u9762\u5143\u7d20\u8f03\u591a\u7de8\u6392\u7dca\u6e4a\u7684\u60c5\u6cc1\u3002<\/p>\n<p>\u7a0b\u5f0f\u7bc4\u4f8b\u4e00\u6b21\u6f14\u793a\u591a\u500b\u4f7f\u7528\u5834\u666f<\/p>\n<ol>\n<li>Bootstrap \u7684\u8868\u55ae\u5957\u7528<\/li>\n<li>\u6a19\u6e96 HTML5\u00a0attribute \u8a2d\u5b9a<\/li>\n<li>\u6b63\u78ba\u9a57\u8b49\u5f8c\u4f7f\u7528\u00a0XMLHttpRequest() \u9001\u51fa\u8cc7\u6599<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true\">&lt;link rel=\"stylesheet\" href=\"\/APP\/Component_Front\/jQuery-Validation-Engine-master\/css\/validationEngine.jquery.css\"\/&gt;\r\n&lt;script src=\"\/APP\/Component_Front\/jQuery-Validation-Engine-master\/js\/languages\/jquery.validationEngine-zh_TW.js\"&gt;&lt;\/script&gt;\r\n&lt;script src=\"\/APP\/Component_Front\/jQuery-Validation-Engine-master\/js\/jquery.validationEngine.js\"&gt;&lt;\/script&gt;\r\n\r\n&lt;form id=\"idForm\" method=\"post\" enctype=\"multipart\/form-data\"&gt;\r\n    &lt;div class=\"row\"&gt;\r\n        &lt;div class=\"form-group\"&gt;\r\n            &lt;label for=\"id_user_name\" class=\"col-sm-offset-1 col-sm-2 control-label\"&gt;\u59d4\u8a17\u4eba\u59d3\u540d&lt;\/label&gt;\r\n            &lt;div class=\"col-sm-9\"&gt;\r\n                &lt;input type=\"text\" class=\"form-control\" id=\"id_user_name\" name=\"user_name\" placeholder=\"\u8acb\u8f38\u5165\u59d4\u8a17\u4eba\u59d3\u540d\" data-validation-engine=\"validate[required]\" autofocus=\"\" \/&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div class=\"row\"&gt;\r\n        &lt;div class=\"form-group\"&gt;\r\n            &lt;label for=\"id_tel\" class=\"col-sm-offset-1 col-sm-2 control-label\"&gt;\u806f\u7d61\u96fb\u8a71&lt;\/label&gt;\r\n            &lt;div class=\"col-sm-9\"&gt;\r\n                &lt;input type=\"text\" class=\"form-control validate[required] \" id=\"id_tel\" name=\"tel\" placeholder=\"\u8acb\u8f38\u5165\u806f\u7d61\u96fb\u8a71\" \/&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div class=\"row\"&gt;\r\n        &lt;div class=\"form-group\"&gt;\r\n            &lt;label for=\"id_address\" class=\"col-sm-offset-1 col-sm-2 control-label\"&gt;\u5730\u5740&lt;\/label&gt;\r\n            &lt;div class=\"col-sm-9\"&gt;\r\n                &lt;input type=\"text\" class=\"form-control\" id=\"id_address\" name=\"address\" placeholder=\"\u8acb\u8f38\u5165\u6b63\u78ba\u7684\u5730\u5740\u4ee5\u65b9\u4fbf\u6211\u5011\u90f5\u5bc4\u5831\u7d19\u7d66\u60a8\" data-validation-engine=\"validate[required,minSize[10]]\"  data-errormessage-range-underflow=\"10!!!\" \/&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div class=\"form-group\"&gt;\r\n        &lt;div class=\"col-sm-offset-3 col-sm-9  margintop25\"&gt;\r\n            &lt;button type=\"submit\" id=\"btn-submit\" class=\"btn btn-primary\" &gt;\u4fee\u6539&lt;\/button&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;input type=\"hidden\" name=\"mode\" value=\"set\" \/&gt;\r\n&lt;\/form&gt;\r\n\r\n\r\n&lt;script&gt;\r\n    $(function(){\r\n        $(\"#idForm\").validationEngine(\"attach\",{\r\n            onValidationComplete: function(form, status) {\r\n                if (status == true) {\r\n                    var Selectform = document.querySelector('#idForm');\r\n                    var fd = new FormData(Selectform);\r\n                    var xhr = new XMLHttpRequest();\r\n\r\n                    xhr.addEventListener(\"load\", uploadComplete, false);\r\n                    xhr.open(\"POST\", \"?act=Request&amp;do=UserInfo&amp;t=\" + Math.random(),true);\r\n                    xhr.send(fd);\r\n                }\r\n            },\r\n            promptPosition:\"topLeft\",\r\n            scroll:false\r\n        });\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>--<\/p>\n<h2>\u53c3\u8003\u8cc7\u6e90<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/posabsolute\/jQuery-Validation-Engine\" target=\"_blank\" rel=\"noopener\">posabsolute\/jQuery-Validation-Engine: jQuery form validation plugin (github.com)<\/a><\/li>\n<li><a href=\"http:\/\/code.ciaoca.com\/jquery\/validation-engine\/\" target=\"_blank\" rel=\"noopener\">jQuery Validation Engine \u8868\u5355\u9a8c\u8bc1 - \u524d\u7aef\u5f00\u53d1\u4ed3\u5e93 (ciaoca.com)<\/a><\/li>\n<\/ul>\n<p>--<\/p>\n<h2>\u5b89\u88dd<\/h2>\n<ul>\n<li><a href=\"https:\/\/cdn.jsdelivr.net\/gh\/posabsolute\/jQuery-Validation-Engine\/\" target=\"_blank\" rel=\"noopener\">posabsolute\/jQuery-Validation-Engine CDN by jsDelivr - A free, fast, and reliable Open Source CDN<\/a><\/li>\n<\/ul>\n<p>\u4f7f\u7528 CDN \u9078\u64c7\u6700\u65b0\u7248\u76f8\u5bb9\u6027\u8f03\u4f73\uff0c\u6574\u7406\u6642\u6700\u65b0\u7248\u672c\u662f <strong>3.1.0<\/strong><\/p>\n<p>--<\/p>\n<h2>\u5c07\u7d81\u5b9a\u548c\u9a57\u8b49\u5206\u958b<\/h2>\n<p>\u4f7f\u7528 attach \u548c\u8868\u55ae\u7d81\u5b9a\uff0c\u7136\u5f8c\u4f7f\u7528\u00a0validate \u9a57\u8b49\u8868\u55ae\u8f38\u5165<\/p>\n<pre class=\"lang:js decode:true\">    $(\"#idFormTeacherScores\").validationEngine('attach',{\r\n        custom_error_messages: {\r\n            'custom[email]': {\r\n                'message': '\u932f\u8aa4\u7684\u96fb\u5b50\u90f5\u4ef6\u683c\u5f0f'\r\n            }\r\n        },\r\n        validationEventTrigger: '',\r\n        autoHidePrompt: true,\r\n        autoHideDelay: 2000,\r\n        promptPosition:\"bottomLeft\",\r\n        validateNonVisibleFields: false,\r\n        prettySelect: true,\r\n        scroll:false\r\n    });\r\n\r\n    function allSubmit(){\r\n        \r\n        if ( $(\"#idFormTeacherScores\").validationEngine('validate') ) {\r\n            alert('ddd');\r\n        }\r\n    }\r\n<\/pre>\n<p>--<\/p>\n<h2>\u4f7f\u7528 ajax \u548c\u00a0serialize() \u9001\u51fa\u8868\u55ae\u8cc7\u6599<\/h2>\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/9375797\/jquery-form-serialize-hidden-fields-and-not-displayed-fields\">jQuery: form serialize, hidden fields, and not displayed fields<\/a><\/li>\n<\/ul>\n<pre class=\"lang:js decode:true\">$.ajax({\r\n    url: WebSite +'\/?a=Admin\/SendEmail&amp;b=TeacherScores',\r\n    type: 'post',\r\n    data: $('#idFormTeacherScores').serialize(),\r\n    success: function(J){\r\n        var Json = JSON.parse(J);\r\n        \r\n    }\r\n});\r\n<\/pre>\n<p>\u6839\u64da\u53c3\u8003\u8cc7\u6599 serialize() \u9664\u4e86\u53ef\u4ee5\u5c07\u8868\u55ae\u5b8c\u6574\u6253\u5305\u4e4b\u5916\uff0c\u9084\u53ef\u4ee5\u9032\u884c\u904e\u6ffe\uff0c\u4f8b\u5982<\/p>\n<pre class=\"lang:js decode:true\">data: $('#idFormAdd').find(':visible, input[type=\"hidden\"]').serialize(),<\/pre>\n<p>\u53ea\u50b3\u8f38\u6709\u986f\u793a\u7684\u6b04\u4f4d\u53ca type='hidden' \u7684\u96b1\u85cf\u6b04\u4f4d<\/p>\n<p>--<\/p>\n<h2><strong>\u6700\u5927\u5b57\u6578<\/strong><\/h2>\n<p><a href=\"http:\/\/stackoverflow.com\/questions\/14376503\/limit-the-number-of-characters-in-a-textarea\">Limit the number of characters in a textarea<\/a><\/p>\n<p>\u9084\u662f\u6cbf\u7528 HTML \u7684\u00a0maxlength=\"10\" \u8a2d\u5b9a<\/p>\n<p><strong>\u4e2d\u6587\u6559\u7a0b\u3001\u8aaa\u660e<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/code.ciaoca.com\/jquery\/validation-engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">jQuery Validation Engine \u8868\u5355\u9a8c\u8bc1<\/a><\/li>\n<li><a href=\"http:\/\/www.cnblogs.com\/aijun\/archive\/2011\/03\/21\/1989991.html\">validationEngine\u4e2d\u6587\u7248 \u2014 jquery\u5f3a\u5927\u7684\u8868\u5355\u9a8c\u8bc1\u63d2\u4ef6<\/a><\/li>\n<\/ul>\n<p>--<\/p>\n<h2>\u81ea\u8a02\u9a57\u8b49\u683c\u5f0f - \u4ee5\u81fa\u7063\u624b\u6a5f\u683c\u5f0f\u70ba\u4f8b<\/h2>\n<p>jQuery-Validation-Engine-master\/js\/languages\/jquery.validationEngine-zh_TW.js<\/p>\n<p>\u539f\u4f86\u5c31\u6709\u624b\u6a5f\u865f\u78bc\u7684\u9a57\u8b49\u65b9\u5f0f\uff0c\u4e0d\u904e\u56e0\u70ba\u53ea\u6709\u8a9e\u8a00\u4e2d\u6587\u5316\uff0c\u6240\u4ee5\u624b\u6a5f\u865f\u78bc\u9084\u662f\u9a57\u8b49\u5916\u570b\u7684\uff0c\u5957\u7528\u5728\u81fa\u7063\u624b\u6a5f\u865f\u78bc\u5c31\u662f\u5931\u6557\uff0c\u6539\u4e00\u4e0b\u5c31\u597d\u4e86<\/p>\n<pre class=\"lang:default decode:true \">\"phone\": {\r\n    \"regex\": \/^09([0-9]{8})$\/,\r\n    \"alertText\": \"* \u7121\u6548\u7684\u96fb\u8a71\u865f\u78bc\uff0c\u8acb\u8f38\u5165 09 \u958b\u982d\u683c\u5f0f\u624b\u6a5f\u865f\u78bc\"\r\n},<\/pre>\n<p>\u4f7f\u7528<\/p>\n<pre class=\"lang:default decode:true \">&lt;input type=\"text\"name=\"Phone\" data-validation-engine=\"validate[required,custom[phone]]\" placeholder=\"\u624b\u6a5f\u865f\u78bc\" \/&gt;<\/pre>\n<p>--<\/p>\n<h2>\u7d14\u6578\u5b57<\/h2>\n<pre class=\"lang:default decode:true \">data-validation-engine=\"validate[required,custom[integer]]\"<\/pre>\n<p>--<\/p>\n<h2>\u6839\u64da\u9078\u64c7\u81ea\u8a02\u9a57\u8b49\u689d\u4ef6<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/posabsolute\/jQuery-Validation-Engine#funccallmethodname\" target=\"_blank\" rel=\"noopener noreferrer\">funcCall[methodName]<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/16182395\/jquery-validation-engine-funccall-not-working-if-only-rule\" target=\"_blank\" rel=\"noopener noreferrer\">jquery Validation Engine funcCall not working if only rule<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">&lt;form id=\"idFormOpinion\" class=\"form-horizontal\"&gt;\r\n    &lt;div class=\"form-group\"&gt;\r\n        &lt;label for=\"idTeacherScores\" class=\"col-sm-2 control-label\"&gt;\u8a55\u5206&lt;\/label&gt;\r\n        &lt;div class=\"col-sm-10\"&gt;\r\n            &lt;select name=\"TeacherScores\" id=\"idTeacherScores\" class=\"form-control\" data-validation-engine=\"validate[required]\"&gt;\r\n                &lt;option value=\"1\"&gt;1&lt;\/option&gt;\r\n                &lt;option value=\"2\"&gt;2&lt;\/option&gt;\r\n                &lt;option value=\"3\"&gt;3&lt;\/option&gt;\r\n                &lt;option value=\"4\"&gt;4&lt;\/option&gt;\r\n                &lt;option value=\"5\"&gt;5&lt;\/option&gt;\r\n                &lt;option value=\"6\"&gt;6&lt;\/option&gt;\r\n                &lt;option value=\"7\"&gt;7&lt;\/option&gt;\r\n                &lt;option value=\"8\"&gt;8&lt;\/option&gt;\r\n                &lt;option value=\"9\"&gt;9&lt;\/option&gt;\r\n                &lt;option value=\"10\"&gt;10&lt;\/option&gt;\r\n            &lt;\/select&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div class=\"form-group\"&gt;\r\n        &lt;label for=\"idTeacherOpinion\" class=\"col-sm-2 control-label\"&gt;\u610f\u898b&lt;\/label&gt;\r\n        &lt;div class=\"col-sm-10\"&gt;\r\n            &lt;textarea name=\"TeacherOpinion\" id=\"idTeacherOpinion\" class=\"form-control\" data-validation-engine=\"validate[funcCall[checkTeacherScores]]\"&gt;&lt;\/textarea&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div class=\"form-group\"&gt;\r\n        &lt;div class=\"col-sm-2\"&gt;&lt;\/div&gt;\r\n        &lt;div class=\"col-sm-10\"&gt;\r\n            &lt;input type=\"submit\" class=\"btn btn-primary\" value=\"\u5132\u5b58\"\/&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n&lt;\/form&gt;<\/pre>\n<p>\u5982\u679c\u8a55\u5206\u5c0f\u65bc 7 \u5247\u5fc5\u9808\u586b\u5beb\u610f\u898b<\/p>\n<pre class=\"lang:js decode:true \">\/\/ \u6aa2\u67e5\u5206\u6578\u662f\u5426\u4f4e\u65bc 7 \u5206\r\nfunction checkTeacherScores(field, rules, i, options){\r\n    var Scores = $('#idFormOpinion').find('[name=\"TeacherScores\"] option:selected').val();\r\n    if ( Scores &lt;=7 ){\r\n        rules.push('required');\r\n        return '\u8acb\u586b\u5beb\u539f\u56e0';\r\n    }\r\n}<\/pre>\n<p>\u8868\u55ae\u9001\u51fa<\/p>\n<pre class=\"lang:js decode:true \">$(\"#idFormOpinion\").submit(function(){}).validationEngine({\r\n    onValidationComplete: function(form, status) {\r\n        if (status == true) {\r\n            \/\/ \u8868\u55ae\u9001\u51fa\u8655\u7406\r\n        }\r\n    },\r\n    validationEventTrigger: '',\r\n    autoHidePrompt: true,\r\n    autoHideDelay: 2000,\r\n    promptPosition:\"bottomLeft\",\r\n    validateNonVisibleFields: false,\r\n    prettySelect: true,\r\n    scroll:false\r\n});<\/pre>\n<p>--<\/p>\n<h2>serialize() \u4e0d\u8655\u7406 display:none; \u4e0d\u904e\u9084\u662f\u8981\u9001\u51fa input type=\"hidden\"<\/h2>\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/9375797\/jquery-form-serialize-hidden-fields-and-not-displayed-fields\">jQuery: form serialize, hidden fields, and not displayed fields<\/a><\/li>\n<\/ul>\n<pre class=\"lang:js decode:true\">$.ajax({\r\n    url: '.\/Update',\r\n    type: 'post',\r\n    data: $('#idFormEdit').find(\"input[type='hidden'], :input:not(:hidden)\").serialize(),\r\n    success: function(J){\r\n    }\r\n});<\/pre>\n<p>--<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"2624\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,395&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>-- \u524d\u8a00 \u4e4b\u524d\u4f7f\u7528\u00a0jQue...<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"2624\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,395&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[262],"tags":[165,203,193,204],"_links":{"self":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2624"}],"collection":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2624"}],"version-history":[{"count":16,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2624\/revisions"}],"predecessor-version":[{"id":13323,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2624\/revisions\/13323"}],"wp:attachment":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}