我有一个包含嵌入式javascript的ant任务.我希望基于我在javascript中运行的一些逻辑使目标失败或成功:
<target name="analyze">
<script language="javascript">
<![CDATA[
importClass(java.io.File);
importClass(java.io.FileReader)
importClass(java.io.BufferedReader)
String.prototype.startsWith = function(str) {
return (this.indexOf(str) === 0);
}
String.prototype.endsWith = function(str) {
var lastIndex = this.lastIndexOf(str);
return (lastIndex != -1) && (lastIndex + str.length == this.length);
}
//setup the source directory
srcDir = project.getProperty("MY_HOME") + "/foo/src";
if(srcDir.startsWith("/foo") {
//TARGET SHOULD PASS
} else {
//TARGET SHOULD FAIL
}
]]>
</script>
</target>
Run Code Online (Sandbox Code Playgroud) 在我的环境中,我在Config.groovy上有grails.gorm.failOnError = true.
package org.example
class Book {
String title
String author
String email
static constraints = {
title nullable: false, blank: false
email nullable: false, blank: false, unique: true //apparently this is the problem..
}
}
Run Code Online (Sandbox Code Playgroud)
而且,在控制器上,我有:
package org.example
class BookController {
def update() {
def bookInstance = Book.get(params.id)
if (!bookInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'book.label', default: 'Book'), params.id])
redirect(action: "list")
return
}
if (params.version) {
def version = params.version.toLong()
if (bookInstance.version > version) {
bookInstance.errors.rejectValue("version", …Run Code Online (Sandbox Code Playgroud)