ActiveAdmin 根据创建需要设置表单输入

Posted

技术标签:

【中文标题】ActiveAdmin 根据创建需要设置表单输入【英文标题】:ActiveAdmin set a form input as required for creation 【发布时间】:2021-08-01 01:08:45 【问题描述】:

我似乎在使用 ActiveAdmin 2.9 时遇到问题,我需要使用 input_html: required: true 创建标题,它仍然允许我提交没有标题的表单。我还需要为 Active Admin 做些什么来验证此职位要求吗?为了清楚起见,下面是我的表格。

form title: 'Notes' do |f|
 f.inputs 'Note' do  
  f.semantic_errors
  f.input :topic
  f.input :title, input_html: required: true
  f.input :body, as: :quill_editor
 end
  f.actions
end

【问题讨论】:

可能你错过了: 对不起,这只是一个错字。我已经正确地将它作为 input_html: required: true 你是否在底层模型中添加了验证? 我猜你想限制一个文本输入字段,对吧?如果正确,那么让 required: true 尝试不使用 input_html ,因为 activeadmin 使用 formtastic 并且它的文档显示所有文本输入案例以这种方式声明 require f.input :title, :required => true 【参考方案1】:

不清楚您是指浏览器 (html5) 验证还是 Rails 验证。我认为您的意思是 html5 验证,因为它实际上会阻止提交。 formtastic is opt in中的浏览器html5验证,除非你打开它才能工作。

您需要创建一个 formtastic 初始化程序 (config/initializers/formtastic.rb) 并将其放入: Formtastic::FormBuilder.perform_browser_validations = true

【讨论】:

Formtastic::FormBuilder.use_required_attribute = true 也可以,对吧? ,尤其是对于 HTML5 required 属性。

以上是关于ActiveAdmin 根据创建需要设置表单输入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ActiveAdmin 表单块中使用 rails 6 ActionText 字段

Active Admin表单仅显示“# ”

用于 Simpleform 的 JQuery Datepicker,就像在 ActiveAdmin 中一样

ActiveAdmin :select 下拉菜单在开发中默认为当前值,但在生产中默认为空白

在 Rails 5 应用程序中使用 ActiveAdmin 创建用户个人资料页面

react-admin - 如何根据另一个设置输入值