5
您如何简单地验证复选框是否在轨道中被选中? 该复选框用于最终用户协议。它位于一个模式窗口中。如何简单地验证轨道中的复选框
可以说我有复选框:
<%= check_box_tag '' %>
在哪里,我应该怎么验证呢?
我在这里看到了关于复选框验证的大多数帖子,但没有一个适合我的需求。
您如何简单地验证复选框是否在轨道中被选中? 该复选框用于最终用户协议。它位于一个模式窗口中。如何简单地验证轨道中的复选框
可以说我有复选框:
<%= check_box_tag '' %>
在哪里,我应该怎么验证呢?
我在这里看到了关于复选框验证的大多数帖子,但没有一个适合我的需求。
添加
validates :terms_of_service, :acceptance => true
到您的模型应该这样做。请查看here了解更多详情和选项。
然而,如果接受这些条款是不是你的模型形式的一部分,你应该使用客户端验证,即JavaScript中,像这样(jQuery中):
function validateCheckbox()
{
if($('#checkbox').attr('checked')){
alert("you have to accept the terms first");
}
}
您可以添加脚本文件到您的看法是这样的:
<%= javascript_include_tag "my_javascipt_file" %>
和触发功能上点击:
<%= submit_tag "Submit", :onclick: "validateCheckbox();" %>
编辑:你可以指定一个ID到你的复选框,像这样:check_box_tag :checkbox
。 HTML将如下所示:<input id="checkbox"
有关更多选项,请参阅these examples。
在这种情况下,我将如何“命名”复选框? – geirmash 2013-04-26 13:50:55
@ user2019492 - 请参阅编辑 – kostja 2013-04-26 14:00:15
kostja提供了一个很好的解释,但是我个人更喜欢在客户端和我的控制器中进行接受验证,然后如果接受我提交当前时间让我们说一个用户模型到它的“ accepted_conditions_at“属性,这样我可以轻松维护并让用户重新接受我的条件条件,如果他们由于某种原因而更改 – dennis 2013-04-26 14:06:22