こんにちは!トピック作成のためにDiscourseフォームテンプレートを使用していますが、uploadフィールドを除くすべてのフィールドタイプで検証が正しく機能しています。
uploadフィールドにvalidations: required: trueを設定しているにもかかわらず、ユーザーはファイルを添付せずにフォームを送信できてしまいます。
私の理解では、uploadフィールドに以下が設定されている場合:
validations:
required: true
少なくとも1つのファイルがアップロードされない限り、フォームは送信が防止されるはずです。フォームは正しくレンダリングされます。他のフィールド(input、textarea、tag-chooser、URL検証)は期待どおりにrequiredを強制しますが、uploadフィールドは空の場合に送信をブロックしません。
YAMLは有効で、テンプレートはエラーなしでロードされます。ファイルアップロード自体は、使用された場合には正しく機能するため、問題はuploadフィールドでのrequiredの強制に特化しているようです。テンプレート内のこのアップロードに関する私のYAML文字列は次のとおりです。
- type: upload
id: patch-uploaded
attributes:
file_types: “.jpg, .png, .gif, .zip”
allow_multiple: true
label: “Upload your .zip”
validations:
required: true
ご協力ありがとうございます!