javascript - Rails 5 simple_form 根据需要标记单选按钮并在未填写时阻止表单提交

标签 javascript jquery ruby-on-rails simple-form

我想根据需要在表单中标记一个单选按钮字段,这样,如果用户单击“提交”(不选择单选按钮选项),他将收到一条错误消息,指出该字段是必需的,就像普通输入字段发生的情况一样(当有选项 required: true 时,如图所示)

例如:(这很好用)

= f.input:值,必需:true

enter image description here

但这不起作用:

= f.collection_radio_buttons :some_symbol, [[true, t('yes')], [false, t('no')]], :first, :last, required: true

我正在使用 Rails 5.2、simple_form 和 jQuery,虽然我确信这个用例遇到了许多开发人员,但除了 javascript hacks(我更喜欢避免并更喜欢使用 Rails 或 simple_form 方式)之外,我找不到相关的问题/答案强制执行此前端验证)

最佳答案

检查方法的签名 https://apidock.com/rails/v6.0.0/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons

collection_radio_buttons(object, method, collection, value_method, text_method, options = {}, html_options = {}, &block)

您有一个 options 哈希值,然后是一个 html_options 哈希值。您对该方法的调用是将 required: true 设置为选项,我认为您需要将其设置为 html_option。在 :lastrequired: true 之间添加一个空的 {}

= f.collection_radio_buttons :some_symbol, [[true, t('yes')], [false, t('no')]], :first, :last, {}, required: true

关于javascript - Rails 5 simple_form 根据需要标记单选按钮并在未填写时阻止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58188418/

相关文章:

javascript - 正则表达式与方程中的数字不匹配

javascript - jQuery 使用类调用 td

javascript - 使用 knex 查询返回未定义

javascript - jquery datepicker getdate 返回 null

jquery - 使用 jquery 在单击时将元素内容复制到剪贴板

javascript - 将动画时序与数据同步(ThreeJS)

javascript - 如何在点击时重新加载 iframe?

ruby-on-rails - 如何设置与RVM相关的 `BUNDLE_PATH`值 "Integration via ' :default_environment'"?

ruby-on-rails - 如何为 Rails 中的集成测试编写帮助程序?

ruby-on-rails - 如何使用活跃的商家使用 PayPal 从 Rails 应用程序汇款?