From b0cf9f4b0c4eece41cb5e3542ab8c54f6dd3d32e Mon Sep 17 00:00:00 2001 From: cirakg Date: Wed, 4 Jan 2023 17:29:50 +0100 Subject: Dodate provere za unos. --- src/main/java/pokemon/RegexHelper.java | 20 ++++++++++++++++ src/main/java/ui/GamePanel.java | 5 ++++ src/main/java/ui/LoginPanel.java | 11 +++++++++ src/main/webapp/index.jsp | 4 ++-- src/main/webapp/pages/addNewPokemon.jsp | 34 +++++++++++++-------------- src/main/webapp/pages/addNewPokemonHelper.jsp | 2 +- src/main/webapp/pages/adminIndex.jsp | 8 +++++-- src/main/webapp/pages/register.jsp | 19 +++++++++++---- src/main/webapp/pages/registerAdmin.jsp | 17 ++++++++++---- src/main/webapp/pages/registerPage.jsp | 8 +++++-- 10 files changed, 94 insertions(+), 34 deletions(-) create mode 100644 src/main/java/pokemon/RegexHelper.java (limited to 'src/main') diff --git a/src/main/java/pokemon/RegexHelper.java b/src/main/java/pokemon/RegexHelper.java new file mode 100644 index 0000000..1253499 --- /dev/null +++ b/src/main/java/pokemon/RegexHelper.java @@ -0,0 +1,20 @@ +package pokemon; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import com.mysql.cj.jdbc.exceptions.PacketTooBigException; + +public class RegexHelper { + public static boolean checkAlphaNumericInput(String str) { + Pattern pattern=Pattern.compile("^[A-Za-z0-9]{1,}$",Pattern.CASE_INSENSITIVE); + Matcher matcher=pattern.matcher(str); + return matcher.find(); + } + public static boolean checkChatInput(String str) { + Pattern pattern=Pattern.compile(":",Pattern.CASE_INSENSITIVE); + Matcher matcher=pattern.matcher(str); + return !matcher.find(); + } + +} diff --git a/src/main/java/ui/GamePanel.java b/src/main/java/ui/GamePanel.java index beeeb11..599e3c9 100644 --- a/src/main/java/ui/GamePanel.java +++ b/src/main/java/ui/GamePanel.java @@ -27,6 +27,7 @@ import models.AbilityType; import models.GameStatus; import models.MonsterViewModel; import models.User; +import pokemon.RegexHelper; import javax.swing.JTextArea; import java.awt.event.ActionListener; @@ -187,6 +188,10 @@ public class GamePanel extends JPanel { } public void sendChat() { String message=textFieldChat.getText(); + if(!RegexHelper.checkChatInput(message)) { + return; + + } MainFrame topFrame=(MainFrame) SwingUtilities.getAncestorOfClass(MainFrame.class, GamePanel.this); String sendMessage="CHATMESSAGE:"+opponentId+":"+message; ByteBuffer bb=ByteBuffer.wrap(sendMessage.getBytes()); diff --git a/src/main/java/ui/LoginPanel.java b/src/main/java/ui/LoginPanel.java index bfd47f9..06a9099 100644 --- a/src/main/java/ui/LoginPanel.java +++ b/src/main/java/ui/LoginPanel.java @@ -4,6 +4,9 @@ import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.SwingUtilities; + +import pokemon.RegexHelper; + import javax.swing.JTextArea; import java.awt.SystemColor; import java.awt.Font; @@ -81,6 +84,14 @@ public class LoginPanel extends JPanel { warningTextArea.setText("Morate uneti login informacije"); return; } + if(!RegexHelper.checkAlphaNumericInput(username)) { + warningTextArea.setText("Username mora sadrzati alfanumericke karaktere"); + return; + } + if(!RegexHelper.checkAlphaNumericInput(password)) { + warningTextArea.setText("Password mora sadrzati alfanumericke karaktere"); + return; + } String loginMsg="LOGIN:"+username+":"+password; ByteBuffer bbLogin=ByteBuffer.wrap(loginMsg.getBytes()); MainFrame topFrame=(MainFrame) SwingUtilities.getAncestorOfClass(MainFrame.class, LoginPanel.this); diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 8be1d49..d182b7e 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -17,9 +17,9 @@

Login

- Korisnicko ime + Korisnicko ime
- Sifra + Sifra

<% diff --git a/src/main/webapp/pages/addNewPokemon.jsp b/src/main/webapp/pages/addNewPokemon.jsp index e6f03af..095ac40 100644 --- a/src/main/webapp/pages/addNewPokemon.jsp +++ b/src/main/webapp/pages/addNewPokemon.jsp @@ -16,32 +16,32 @@ if(!isAdmin){ - Ime
- Opis
- Hp
- ImageString64
+ Ime
+ Opis
+ Hp
+ ImageString64

Abilities

ATTACK

- Ime
- Opis
- - Snaga
+ Ime
+ Opis
+ + Snaga

SPECIAL

- Ime
- Opis
+ Ime
+ Opis
- Snaga
+ Snaga

HEAL

- Ime
- Opis
+ Ime
+ Opis
- Snaga
+ Snaga

SHIELD

- Ime
- Opis
+ Ime
+ Opis
- Snaga
+ Snaga
diff --git a/src/main/webapp/pages/addNewPokemonHelper.jsp b/src/main/webapp/pages/addNewPokemonHelper.jsp index 938d70b..de5b474 100644 --- a/src/main/webapp/pages/addNewPokemonHelper.jsp +++ b/src/main/webapp/pages/addNewPokemonHelper.jsp @@ -29,7 +29,7 @@ for (int i = 0; i < 4; i++) { tempA.setDescription(desc.get(i)); int tempType=Integer.parseInt(type.get(i)); tempA.setType(AbilityType.values()[tempType]); - int tempPower=Integer.parseInt(power.get(i)); + float tempPower=Float.valueOf(power.get(i)); tempA.setPower(tempPower); pokemon.abilities.add(tempA); } diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp index 25d021f..be5381f 100644 --- a/src/main/webapp/pages/adminIndex.jsp +++ b/src/main/webapp/pages/adminIndex.jsp @@ -85,15 +85,19 @@ request.setAttribute("monsters", monsters);

Registracija novog admina

- Korisnicko ime + Korisnicko ime
- Sifra + Sifra

<% if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") ) out.print("Username vec postoji"); %> + <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-3") ) + out.print("Username i password moraju biti alfanumericnog tipa"); + %>

<% diff --git a/src/main/webapp/pages/register.jsp b/src/main/webapp/pages/register.jsp index e8de339..65a1e8a 100644 --- a/src/main/webapp/pages/register.jsp +++ b/src/main/webapp/pages/register.jsp @@ -1,3 +1,4 @@ +<%@page import="pokemon.RegexHelper"%> <%@page import="models.User"%> <%@page import="models.CONSTS"%> <%@page import="java.rmi.Naming"%> @@ -8,12 +9,20 @@ <% IService service=(IService)Naming.lookup(CONSTS.rmiUrl); - boolean s=service.addUser(user); - if(s) - { - response.sendRedirect("../index.jsp?id=-2"); + if(RegexHelper.checkAlphaNumericInput(user.username) && RegexHelper.checkAlphaNumericInput(user.password)){ + + boolean s=service.addUser(user); + if(s) + { + response.sendRedirect("../index.jsp?id=-2"); + } + else{ + response.sendRedirect("registerPage.jsp?id=-1"); + } + } else{ - response.sendRedirect("registerPage.jsp?id=-1"); + response.sendRedirect("registerPage.jsp?id=-3"); } + %> \ No newline at end of file diff --git a/src/main/webapp/pages/registerAdmin.jsp b/src/main/webapp/pages/registerAdmin.jsp index f6d518b..1dc04f2 100644 --- a/src/main/webapp/pages/registerAdmin.jsp +++ b/src/main/webapp/pages/registerAdmin.jsp @@ -1,3 +1,4 @@ +<%@page import="pokemon.RegexHelper"%> <%@page import="models.User"%> <%@page import="models.CONSTS"%> <%@page import="java.rmi.Naming"%> @@ -14,12 +15,18 @@ if(!isAdmin){ <% IService service=(IService)Naming.lookup(CONSTS.rmiUrl); user.setAdmin(true); - boolean s=service.addUser(user); - if(s) - { - response.sendRedirect("adminIndex.jsp?id=-2"); + if(RegexHelper.checkAlphaNumericInput(user.username) && RegexHelper.checkAlphaNumericInput(user.password)){ + boolean s=service.addUser(user); + if(s) + { + response.sendRedirect("adminIndex.jsp?id=-2"); + } + else{ + response.sendRedirect("adminIndex.jsp?id=-1"); + } } else{ - response.sendRedirect("adminIndex.jsp?id=-1"); + response.sendRedirect("adminIndex.jsp?id=-3"); } + %> \ No newline at end of file diff --git a/src/main/webapp/pages/registerPage.jsp b/src/main/webapp/pages/registerPage.jsp index 0f6cf3e..c4118a0 100644 --- a/src/main/webapp/pages/registerPage.jsp +++ b/src/main/webapp/pages/registerPage.jsp @@ -8,15 +8,19 @@ - Korisnicko ime + Korisnicko ime
- Sifra + Sifra

<% if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") ) out.print("Username vec postoji"); %> + <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-3") ) + out.print("Username i password moraju biti alfanumericnog tipa"); + %>

-- cgit v1.2.3