在服务器上,Grails 提供将保存到域对象/数据库中的字段的约束验证,然后提供 <g:renderErrors>
标签显示html/form页面中的任何字段错误,通常显示在页面顶部。
获取这些服务器端错误并将其显示在红色错误标注中的每个字段旁边的最简单方法是什么? IE。什么是一个简单的(jQuery)库,可以将错误标注放在给定字段旁边,而不在客户端中进行验证?
(Grails 1.3.7,计划稍后更新到 2.0)- 已编辑
最佳答案
groovy 标签库中的 hasErrors(bean: bean, field: field, ) 标签将在这里为您提供帮助。正如 Sergio 所说,您可以在 GSP 上调用它并使用它向您的输入(或输入容器)添加 css 样式。这是一个传递了“person”模型的 View 示例,该模型有一个名为“name”的字段,我想应用一个“errors”CSS 类:
<td class="${hasErrors(bean: person, field: 'name', 'errors')} text">
对于关于“为什么”字段无效的智能、用户友好的消息,您可以将 i18n 属性代码添加到您的域验证器中,在您的 i18n 文件夹中添加相应的文本,并且我相信使用一些东西来达到 renderError 的效果打印该消息(它应该附加到错误中)。然后您可以通过字段名称查找错误,并将该消息注入(inject)到 View 中。但并不 100% 确定如何做到这一点。
关于jquery - 使用 jQuery 为 Grails 约束错误提供漂亮的外观(但不是客户端验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393684/