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 字段
用于 Simpleform 的 JQuery Datepicker,就像在 ActiveAdmin 中一样
ActiveAdmin :select 下拉菜单在开发中默认为当前值,但在生产中默认为空白