如果你正在寻找一些更冗长的东西,请告诉我,但最简单的实现只需在输入语句中添加一个必填字段:
<%= simple_form_for @business, html: { multipart: true } do |f| %> <%= f.simple_fields_for :attached_files, AttachedFile.new do |af| %> <%= af.input :file, as: :file, label: false, required: true %> <% end %> <%= f.button :submit, 'Upload File', class: 'btn btn-mini btn-success hidden', id: 'submit-file-upload' %> <% end %>
此外,您将要确保您正在进行服务器端验证,因为它们实际上是唯一的具体验证(浏览器验证始终可以被篡改)
def create @business = Business.new(business_params) unless params[:file].nil? if @business.save! redirect_to root_path else render :new end end
最后,确保您的配置文件设置为处理浏览器验证:
SimpleForm.browser_validations = true