我想驗證春季表單輸入使用休眠..當我嘗試使用@Email
驗證電子郵件是不會返回任何消息..如果我使用@Pattern
,它給我的輸出,但如果試圖驗證「[email protected]」它接受它..我想避免接受這樣的條目..請指導在這件事.. 這是我的代碼:@Email不工作,但@pattern在休眠
人。 java的
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Pattern;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;
@Entity
@Table(name="person")
public class Person implements Serializable
{
@Id
@Column(name="name")
@NotBlank
private String name;
@NotBlank
@Column(name="address")
private String address;
@NotBlank
@Column(name="contact")
private String contact;
//@Email(message="Invalid")
@Pattern(regexp ="^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\\.(?:[a-zA-Z]{2,6})$", message="Invalid E-Mail")
@Column(name="email")
private String email;
//getter-setters
}
messages.properties文件:
NotBlank.person.name = Name can not be empty
NotBlank.person.address = Address can not be empty
NotBlank.person.contact = Contact can not be empty
爲什麼?從模式角度來看'test @ test.com'是一個完全有效的電子郵件地址。此外,您的模式根據其規範不允許使用有效的電子郵件。 –