は私がCheck if username already exists in the register formユーザー名および/または電子メールがすでに
私がログインフォームを書いていますし、私はどのように把握しようとしていますように、ここにいくつかのスレッドを見てきましたが存在するかどうかを確認するために、JSFバリデータを使用する方法WSFバリデーターを使用して、weitherを検証するか、userNameまたは電子メールアドレスがすでにデータベースに存在していないかを検証します。 私はすでに自分のPOJOでこのメソッドを設定していますが、Javaのデターマナイズや存在しないことで正常に動作します。私の問題は、画面にメッセージを戻す方法とそれをリンクする方法にあります。
この
は私のXHTMLです:<!--UserName form group-->
<div class="form-group has-feedback" id="CAuserNameFormGroup">
<!-- -->
<div class="input-group" id="CAuserNameInputGroup">
<!-- -->
<span class="input-group-addon"><i class="glyphicon glyphicon-user" id="CAuserNameLeftGlyph"></i></span>
<!-- -->
<h:inputText class="form-control" id="CAuserName" value="#{accountCreationBean.userName}" pt:placeholder="#{accMsgs.userName}" required="true" requiredMessage="#{accMsgs.userNameRequired}" validator="#{accountCreationBean.validateEmail(context, component, value)}"></h:inputText>
</div>
<span class="help-block"><h:message id="CAuserNameMessage" class="text text-danger" for="CAuserName" ></h:message></span>
<!-- -->
<span class="form-control-feedback" id="CAuserNameRightGlyph"></span>
</div>
私のPOJO(データベース接続)
public boolean addMember(String userName, String password, String title, String Phone, String email, String firstName, String lastName, String major)
{
String addQuery = "INSERT INTO member(First_Name, Last_Name, Phone, Email, Title, UserName, Password, Major) VALUES " +
"('" + firstName + "', '" + lastName + "', '" + Phone + "', '" + email + "', '" + title + "', '" + userName + "', '" + password + "', '" + major + "')";
if(!doesExist(userName, email))
{
try
{
PreparedStatement addMember = connection.prepareStatement(addQuery);
addMember.executeUpdate();
return true;
}
catch (SQLException ex)
{
Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
}
}
else
System.out.println("Sorry, but the user " + userName + " and or the emial " + email + " is already regestered with us");
return false;
}
public boolean doesExist(String userName, String email)
{
userNameExsits = "";
emailExists = "";
try
{
String query = "SELECT UserName, Email FROM Member";
statement = (Statement) connection.createStatement();
resultSet = statement.executeQuery(query);
while(resultSet.next())
{
if (resultSet.getString("UserName").equals(userName))
{
userNameExsits = userName;
}
if(resultSet.getString("Email").equals(email))
{
emailExists = email;
}
return true;
}
}
catch (SQLException ex)
{
Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
、これは私のビーン(リクエストスコープ)である
public void createAccount()
{
if(super.addMember(userName, password, title, phone, email, firstName, lastName, major))
clear();
}
private void clear()
{
firstName = "";
lastName = "";
email = "";
phone = "";
title = "";
userName = "";
password = "";
major = "";
};