在尝试登录时验证用户输入时,我试图覆盖默认的Primefaces消息。当用户名和密码不是admin / admin时,我设法获得了自己的消息,现在我想获得自己的消息没有用户名,密码或两者都没有时。
我已经尝试了下面的代码(否则,如果没有行),但是它不起作用。在所有三种情况下都尝试过,但没有用。
public class UserLogin{
private String username;
private String password;
private String vrstaPrava;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getVrstaPrava() {
return vrstaPrava;
}
public void setVrstaPrava(String vrstaPrava) {
this.vrstaPrava = vrstaPrava;
}
public void login() {
FacesMessage message = null;
boolean loggedIn = false;
if(username != null && username.equals("admin") && password != null && password.equals("admin")) {
loggedIn = true;
message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Dobro došli", username);
} else if (username == null) {
loggedIn = false;
message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Greška prilikom prijave", "Niste unijeli korisničko ime/lozinku");
} else {
loggedIn = false;
message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Greška prilikom prijave", "Pogrešno korisničko ime/lozinka");
}
FacesContext.getCurrentInstance().addMessage(null, message);
PrimeFaces.current().ajax().addCallbackParam("loggedIn", loggedIn);
} }
答案 0 :(得分:0)
不确定输入所使用的内容,但始终可以设置required = true,并为每个输入输入您自己的消息,其中requireMessage =“ yourmessage”。
示例:
<p:inputText id="username" required="true" requiredMessage="Please enter a username" />
答案 1 :(得分:0)
正如Rou Jie提到的,在这种情况下,您可以使用required + requiredMessage。
您还可以在适当的messages.properties文件中自定义默认消息,以避免对每个字段重复requiredMessage。
SoftInfo = JsonConvert.DeserializeObject<software>(SoftResponse);