我有一个文本字段,其长度我想限制在我的一个域类的maxSize约束.
所以,如果我有一个类foo:
class Foo {
String bar
static constraints = {
bar(maxSize: 100)
}
}
Run Code Online (Sandbox Code Playgroud)
我想在物业酒吧获得100的价值.这可能吗?
我无法从命令对象中呈现错误.它做得很好,但我的.gsp视图不会渲染我提出的错误.
这是我的控制器动作:
def handleModifyProfile2 = { CreditProviderModificationCommand cpmc -> // bind params to the command object
if (cpmc.hasErrors()) {
flash.message = "Error modifying your profile:"
redirect(action: "modifyProfile", params: [creditProvider : cpmc])
} ...
Run Code Online (Sandbox Code Playgroud)
以下是我尝试在.gsp视图中呈现错误的方法:
<g:hasErrors bean="${creditProvider}">
<div class="errors">
<g:renderErrors bean="${creditProvider}" as="list" />
</div>
</g:hasErrors>
Run Code Online (Sandbox Code Playgroud)
如何才能在视图中显示错误?
error-handling grails render grails-validation grails-constraints
我是Grails的新手.我有一个Person域类:
class Person {
String firstName
String lastName
String gender
Date dateOfBirth
}
Run Code Online (Sandbox Code Playgroud)
并且想知道我是否可以为属性定义可能的值 - 比如性别为{M,F,U},这样当为Person控制器使用动态脚手架时,这三个值将在组合框中列出.
在这里,我只是想知道Grails框架中是否有这样的功能?如果存在此功能,那么我该如何使用它?
使用匹配约束时,如何在正则表达式中转义正斜杠?这是我试过的:
constraints {
url (
matches: "^http://www.google.com/$"
)
}
Run Code Online (Sandbox Code Playgroud)
错误: solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}"
constraints {
url (
matches: "^http:\/\/www.google.com\/$"
)
}
Run Code Online (Sandbox Code Playgroud)
错误: unexpected char: '\'
我的问题很简单,但我找不到任何GORM语法.
考虑以下课程:
class Article {
String text
static hasMany = [tags: String]
static constraints= {
tags(unique: true) //NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的约束中定义的每篇文章都有一个唯一的标记名称,但我不能使用上面的语法.显然,我需要在DB模式中使用以下内容:
create table article_tags (article_id bigint, tags_string varchar(255), unique (article_id , tags_string))
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
PS:我也坚持设置标签最小和最大尺寸的约束
如何使用 Grails 中的单元测试来测试 Groovy Domain-Classes 的 initBefore 方法?
我创建了虚拟对象,但在调用 myObject.save() 之前不会调用 beforeInsert-method,并且 save 在测试环境中不可用。
编辑:它是一个单元测试。没有错误,但是没有调用beforeInsert方法
我真的很难在grails的比赛限制,我很新.我希望我的字段只接受的是具有电话号码格式的输入,如02-3546352,其中(区号) - (电话号码).除了数字和短划线之外的其他字符不被接受.是否可以过滤我的输入,就像我想要使用正则表达式发生的那样?请帮忙.谢谢你分享你的知识.
我目前正在grails项目中工作,最终我遇到了有关grails中匹配限制的问题.我的字段应该只接受具有类似日期的格式的字符串,如下所示:
10-25-2012 5:00 PM
在使用正则表达式的匹配约束中这是否可行?我总是在使用正则表达式进行数据过滤方面遇到困难,因为它有点令人困惑.