【发布时间】:2020-09-11 11:59:36
【问题描述】:
我在 Spring 的应用程序中填写了联系表格。我有这个问题:
字段“名称”上的对象“联系人”中的字段错误:拒绝值 [空值];代码 [NotBlank.contact.name,NotBlank.name,NotBlank.java.lang.String,NotBlank]; 论据 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [contact.name,name];论据 [];默认消息[名称]]; 默认消息 [不能为空] 对象“联系人”中的字段错误 字段“消息”:拒绝值 [null];代码 [NotBlank.contact.message,NotBlank.message,NotBlank.java.lang.String,NotBlank]; 论据 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [contact.message,message];论据 [];默认消息 [信息]];默认消息 [它不能为空] 对象中的字段错误 字段“主题”上的“联系人”:拒绝值 [null];代码 [NotBlank.contact.subject,NotBlank.subject,NotBlank.java.lang.String,NotBlank]; 论据 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [contact.subject,subject];论据 [];默认消息 [主题]];默认消息 [它不能为空] 对象中的字段错误 字段“电话”上的“联系人”:拒绝值 [null];代码 [NotBlank.contact.phone,NotBlank.phone,NotBlank.java.lang.String,NotBlank]; 论据 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [contact.phone,phone];论据 [];默认消息[电话]]; 默认消息 [не может быть пусто] 对象“联系人”中的字段错误 在“电子邮件”字段上:拒绝值 [null];代码 [NotBlank.contact.email,NotBlank.email,NotBlank.java.lang.String,NotBlank]; 论据 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [contact.email,email];论据 [];默认消息[电子邮件]]; 默认消息[不能为空]]
控制器:
@Controller
public class ContactController {
@Autowired
MailComponent mailComponent;
@GetMapping("/contact")
public String contact(@ModelAttribute Contact contact) {
return "contact";
}
@PostMapping("/contact")
public String processContact(@Validated Contact contact, RedirectAttributes model, BindingResult bindingResult) {
if (bindingResult.hasErrors())
return "contact";
if (mailComponent.sendSimpleMail(contact)) {
model.addFlashAttribute("classCss", "alert sukcesu");
model.addFlashAttribute("message", "Twoja wiadomość została wysłana");
} else {
model.addFlashAttribute("classCss", "alert ostrzeżenie");
model.addFlashAttribute("message", "Wystąpił nieoczekiwany błąd, powtórz później");
}
return "redirect:/";
}
}
实体:
public class Contact {
@NotBlank
@Pattern(regexp = "[\\p{L} '-]+", message = "{com.diet4you.LapkoEkaterina.constraint.Name.message}")
private String name;
@NotBlank
@Pattern(regexp = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])",
message = "{com.diet4you.LapkoEkaterina.constraint.Email.message}")
private String email;
@NotBlank
@Pattern(regexp = "\\+(?:[0-9] ?){6,14}[0-9]", message = "{com.diet4you.LapkoEkaterina.constraint.Phone.message}")
private String phone;
@NotBlank
private String subject;
@NotBlank
private String message;
public Contact() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
验证属性:
javax.validation.constraints.AssertFalse.message = must be false
javax.validation.constraints.AssertTrue.message = must be true
javax.validation.constraints.DecimalMax.message = must be less than ${inclusive == true ? 'or equal to ' : ''}{value}
javax.validation.constraints.DecimalMin.message = must be greater than ${inclusive == true ? 'or equal to ' : ''}{value}
javax.validation.constraints.Digits.message = numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)
javax.validation.constraints.Future.message = must be in the future
javax.validation.constraints.Max.message = must be less than or equal to {value}
javax.validation.constraints.Min.message = must be greater than or equal to {value}
javax.validation.constraints.NotNull.message = may not be null
javax.validation.constraints.Null.message = must be null
javax.validation.constraints.Past.message = must be in the past
javax.validation.constraints.Pattern.message = must match "{regexp}"
javax.validation.constraints.Size.message = size must be between {min} and {max}
org.hibernate.validator.constraints.CreditCardNumber.message = invalid credit card number
org.hibernate.validator.constraints.EAN.message = invalid {type} barcode
org.hibernate.validator.constraints.Email.message = not a well-formed email address
org.hibernate.validator.constraints.Length.message = length must be between {min} and {max}
org.hibernate.validator.constraints.LuhnCheck.message = The check digit for ${validatedValue} is invalid, Luhn Modulo 10 checksum failed
org.hibernate.validator.constraints.Mod10Check.message = The check digit for ${validatedValue} is invalid, Modulo 10 checksum failed
org.hibernate.validator.constraints.Mod11Check.message = The check digit for ${validatedValue} is invalid, Modulo 11 checksum failed
org.hibernate.validator.constraints.ModCheck.message = The check digit for ${validatedValue} is invalid, ${modType} checksum failed
org.hibernate.validator.constraints.NotBlank.message = This field is required
org.hibernate.validator.constraints.NotEmpty.message = may not be empty
org.hibernate.validator.constraints.ParametersScriptAssert.message = script expression "{script}" didn't evaluate to true
org.hibernate.validator.constraints.Range.message = must be between {min} and {max}
org.hibernate.validator.constraints.SafeHtml.message = may have unsafe html content
org.hibernate.validator.constraints.ScriptAssert.message = script expression "{script}" didn't evaluate to true
org.hibernate.validator.constraints.URL.message = must be a valid URL
org.hibernate.validator.constraints.br.CNPJ.message = invalid Brazilian corporate taxpayer registry number (CNPJ)
org.hibernate.validator.constraints.br.CPF.message = invalid Brazilian individual taxpayer registry number (CPF)
org.hibernate.validator.constraints.br.TituloEleitoral.message = invalid Brazilian Voter ID card number
com.diet4you.LE.Name.message = Tylko litery
com.diet4you.LE.Email.message = Nie format e-mail
com.diet4you.LE.Phone.message = InNie format numeru
【问题讨论】:
-
你的前端是什么(JSP、Thymeleaf、freemaker、..etc)?
标签: java spring spring-boot spring-mvc