1

我有一个嵌套模型表单,用户可以在其中创建一个“项目”,其中可以包含任意数量的“任务”,这些“任务”由任务“名称”和“描述”组成。这些任务由用户使用 jQuery 动态添加。

我想为每个任务中的字段提供客户端验证,目前我正在使用livevalidation插件。

问题是输入字段被赋予一个基于当前时间的动态 id,因为在提交表单时 Rails 必须是唯一的才能完成它的工作。

在我看来,我有两个选择:

  1. 不知何故,让 javascript 验证接受通配符,以便每次添加任务时,都可以根据其 id 中不变的部分对其字段设置验证。

  2. 在创建任务的同时创建必要的验证 javascript 内联。

上面的方法有用吗?有没有更好的选择?如何从部分 id 匹配中选择一个元素到验证器中?

谢谢

4

1 回答 1

1

我会推荐使用jQuery Validation Plugin。它允许您基于属性名称而不是它们的 ID 创建验证,并且您可以对不同的表单使用相同的规则集:

验证= {规则:{“名称”:“必需”,“描述”:“必需”}}
jQuery("#form-1").validate(验证);
jQuery("#form-2").validate(验证);

如果你想传递明确的 id,你可以使用一个函数来生成你的规则:

功能验证规则(索引){
  返回 {
    规则:{
      "name["+index+"]": "必填",
      "描述["+index+"]": "必需"
    }
  };
}
于 2011-01-17T18:32:10.287 回答