如何为Rails表单提供用户实时反馈

时间:2010-10-19 04:10:29

标签: ruby-on-rails validation forms live

我需要制作一个Rails表单,在输入字段时回复用户。

具体来说,用户需要输入四个十进制字段,表示我们公司运行的某些测试数据。问题是测试人员经常输入不正确(省略数字,或点击'4'而不是'1'等)。

这很容易检查,因为在现实生活中,输入的变化不应超过5.我只想发送一条实时消息,因为他们输入了类似“请仔细检查没有错误您的输入“如果字段因某些条件而异。

我查看了许多实时验证教程,包括Advanced Rails Recipes中的一个,但是a)我不需要服务器请求,并且b)这在技术上不是验证,因为我只想警告用户输入,而不是阻止它们制作它。

2 个答案:

答案 0 :(得分:2)

您可以通过将onchange附加到您要在用户填写表单时警告用户的输入字段来执行此操作。这样,当他们移动到表单中的下一个字段时,会调用您的事件处理程序,检查他们刚刚输入信息的表单字段的值,并决定是否用警告消息提醒用户。您根本不必点击服务器。

使用jQuery的一个例子:

$('#your_form_field').change(function () {
  var isValid = false; // Validate the input's value based on some criteria
  if (!isValid) {
    alert("Please check your work.");
  }
});

答案 1 :(得分:0)

AJAX with RJS RailsCast可以提供帮助。您可以编写从服务器返回一次的RJS,然后对客户端上的事件执行N次。