我想验证我的表单,但这不起作用。我的实体类
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Email;
@Entity
@Table(name = "users")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@NotNull
@Size(max = 20)
@Column(name = "username")
private String username;
@NotNull
@Size(max = 20)
@Column(name = "password")
private String password;
@NotNull
@Size(max = 20)
@Column(name = "firstName")
private String firstName;
@NotNull
@Size(max …Run Code Online (Sandbox Code Playgroud) 我有一个旧项目,在该项目中我使用了Java API中的Date,并且要将其更改为新的Java 8 Date API LocalDateTime。我读到5之前的Hibernate版本不支持新的Java 8 Date API,因此我决定从Hibernate 4.3.6迁移到5。在旧项目版本中,一切正常,但是当我更改Hibernate版本时,出现错误我尝试启动我的应用程序:
wrz 21, 2015 7:14:23 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_31\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre1.8.0_31/bin/server;C:/Program Files/Java/jre1.8.0_31/bin;C:/Program Files/Java/jre1.8.0_31/lib/amd64;D:\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\ProgramData\Oracle\Java\javapath;D:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;D:\Program Files\eclipse;;.
wrz 21, 2015 7:14:23 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: …Run Code Online (Sandbox Code Playgroud) 当我想编辑我的用户时,我的密码字段有问题.当我选择我的用户进行编辑时,我可以编辑名字,姓氏和密码,但我只能编辑名字并保持密码字段不变.当我单击编辑开始时,我收到一个错误:
The password field is empty.
Run Code Online (Sandbox Code Playgroud)
我的密码字段:
<p:password id="password" value="#{userMB.user.password}" label="#{msg.password}" required="true">
<f:validator validatorId="passwordValidator2" />
<p:ajax update="msgPassword" event="keyup" />
</p:password>
Run Code Online (Sandbox Code Playgroud)
为什么?
当我改变它<p:password>与<h:inputText>它工作正常.但我看到密码我的用户...为什么<p:password>不读取初始值userMB.user.password?
我有一个Spring Validator:
@Component
public class AddClientAccountValidator implements Validator {
@Autowired
private ValidatorUtils validatorUtils;
@Override
public boolean supports(Class<?> clazz) {
return UserDto.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
UserDto user = (UserDto) target;
validatorUtils.setParam(errors, user);
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "username.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "password.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "confirmPassword",
"confirmPassword.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "firstName.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "lastName.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "personalId", "personalId.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "city", "city.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "address", "address.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", "email.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "phone", "phone.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "contribution", "contribution.required");
validatorUtils.validateAddClientAccount();
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的Validator中有注入ValidatorUtils类:
@Component
class ValidatorUtils {
@Autowired
private …Run Code Online (Sandbox Code Playgroud) java ×3
spring ×3
controller ×1
jpa ×1
jsf ×1
junit ×1
mockito ×1
primefaces ×1
testing ×1
validation ×1