我整理了一份报名表,以允许注册用户提交内容。我遵循了Craft 3 Docs中给出的示例,但是它似乎仍然不起作用。希望有人能看到我看不到的东西。这是我用于表单的代码。
{% macro errorList(errors) %}
{% if errors %}
<ul class="errors">
{% for error in errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
{% from _self import errorList %}
<form method="post" accept-charset="UTF-8">
{{ csrfInput() }}
<input type="hidden" name="action" value="entries/save-entry">
{{ redirectInput('viewentry/{slug}') }}
<input type="hidden" name="work" value="2">
<input type="hidden" name="enabled" value="1">
<label for="title">Title</label>
<input id="title" type="text" name="title"
{%- if entry is defined %} value="{{ entry.title }}"{% endif -%}>
{% if entry is defined %}
{{ errorList(entry.getErrors('title')) }}
{% endif %}
<label for="fields-projectDescription">Project Description</label>
<textarea id="fields-projectDescription" name="fields[projectDescription]">
{%- if entry is defined %}{{ entry.projectDescription }}{% endif -%}
</textarea>
<input type="submit" value="Publish">
</form>
提交此表单时收到的错误是:
错误请求请求-缺少必需的身体参数
我虽然这可能意味着我必须保留示例中的“ body”字段。例如。
<label for="body">Body</label>
<textarea id="body" name="fields[body]">
{%- if entry is defined %}{{ entry.body }}{% endif -%}
</textarea>
{% if entry is defined %}
{{ errorList(entry.getErrors('body')) }}
{% endif %}
但是,添加它没有什么作用。
任何帮助表示赞赏。
答案 0 :(得分:0)
您在表单中缺少sectionId
:
<input type="hidden" name="sectionId" value="{{ craft.sections.getSectionByHandle('sectionHandle').id }}">