"reference to Validator is ambiguous" 在 PlayFramework 中
"reference to Validator is ambiguous" in PlayFramework
我正在使用 PlayFramework 2.2.1,下面的代码是我的实体 class 属于模型:
package models;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.*;
import com.avaje.ebean.annotation.*;
import controllers.Application.FindForm; //this is a inner class for temporarily retaining a value from a form
import play.db.ebean.*;
import play.data.validation.*;
import play.data.validation.Constraints.*;
import controllers.Application.FindForm;
import play.data.Form;
import play.libs.F;
import play.mvc.Result;
import views.html.find;
@Entity
public class Message extends Model{
@Id
public Long id;
@Required(message = "This item is required.")
public String name;
@Email(message = "Enter your email address")
public String mail;
@Required
@MinLength(10)
@MaxLength(200)
@ValidateWith(value = IsUrl.class, message = "Fill in the message which starts URL")
public String message;
@CreatedTimestamp
public Date postdata;
public static Finder<Long, Message> find =
new Finder<Long, Message>(Long.class, Message.class);
@Override
public String toString() {
return ("[id:" + id + ", name:" + name + ", mail:" + mail +
", message:" + message + ", data:" + postdata + "]");
}
public static class IsUrl extends Validator<String> {
//this method is not strict, originally have to use regular expression.
public boolean isValid(Stirng s) {
return s.toLowerCase().startsWith("http://");
}
@Override
public F.Tuple<String, Object[]> getErrorMessage() {
return new F.Tuple<String, Object[]>("error.invalid", new String[]{});
}
}
}
Whosebug 中似乎有很多与此标题相关的问题。在所有这些问题中,我认为这听起来可能与我的问题非常相关。
How do I disambiguate in Scala between methods with vararg and without
但是如果你看到这个问题,你会很容易理解他们在讨论方法,而不是class。现在我面临编译错误,上面写着:
reference to Validator is ambiguous
在我的预料中,这是从存在于 Framework 深处的 Scala 代码派生的。所以,我不知道该怎么办,我用谷歌搜索了这个错误消息,但问题仍然存在。
我该怎么办?
通过 Scary Wombat 的有用评论,我可以解决我的问题。
我不再需要任何答案。
非常感谢,吓人。
我正在使用 PlayFramework 2.2.1,下面的代码是我的实体 class 属于模型:
package models;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.*;
import com.avaje.ebean.annotation.*;
import controllers.Application.FindForm; //this is a inner class for temporarily retaining a value from a form
import play.db.ebean.*;
import play.data.validation.*;
import play.data.validation.Constraints.*;
import controllers.Application.FindForm;
import play.data.Form;
import play.libs.F;
import play.mvc.Result;
import views.html.find;
@Entity
public class Message extends Model{
@Id
public Long id;
@Required(message = "This item is required.")
public String name;
@Email(message = "Enter your email address")
public String mail;
@Required
@MinLength(10)
@MaxLength(200)
@ValidateWith(value = IsUrl.class, message = "Fill in the message which starts URL")
public String message;
@CreatedTimestamp
public Date postdata;
public static Finder<Long, Message> find =
new Finder<Long, Message>(Long.class, Message.class);
@Override
public String toString() {
return ("[id:" + id + ", name:" + name + ", mail:" + mail +
", message:" + message + ", data:" + postdata + "]");
}
public static class IsUrl extends Validator<String> {
//this method is not strict, originally have to use regular expression.
public boolean isValid(Stirng s) {
return s.toLowerCase().startsWith("http://");
}
@Override
public F.Tuple<String, Object[]> getErrorMessage() {
return new F.Tuple<String, Object[]>("error.invalid", new String[]{});
}
}
}
Whosebug 中似乎有很多与此标题相关的问题。在所有这些问题中,我认为这听起来可能与我的问题非常相关。
How do I disambiguate in Scala between methods with vararg and without 但是如果你看到这个问题,你会很容易理解他们在讨论方法,而不是class。现在我面临编译错误,上面写着:
reference to Validator is ambiguous
在我的预料中,这是从存在于 Framework 深处的 Scala 代码派生的。所以,我不知道该怎么办,我用谷歌搜索了这个错误消息,但问题仍然存在。
我该怎么办?
通过 Scary Wombat 的有用评论,我可以解决我的问题。 我不再需要任何答案。 非常感谢,吓人。