diff options
author | cirakg <ciraboxkg@gmail.com> | 2023-01-04 17:29:50 +0100 |
---|---|---|
committer | cirakg <ciraboxkg@gmail.com> | 2023-01-04 17:29:50 +0100 |
commit | b0cf9f4b0c4eece41cb5e3542ab8c54f6dd3d32e (patch) | |
tree | 46508479c272d4b10b3febad3accf8a0d3b43b60 | |
parent | cd694d64cf1a9be635df6b15168a5950644e5ce2 (diff) |
Dodate provere za unos.
-rw-r--r-- | src/main/java/pokemon/RegexHelper.java | 20 | ||||
-rw-r--r-- | src/main/java/ui/GamePanel.java | 5 | ||||
-rw-r--r-- | src/main/java/ui/LoginPanel.java | 11 | ||||
-rw-r--r-- | src/main/webapp/index.jsp | 4 | ||||
-rw-r--r-- | src/main/webapp/pages/addNewPokemon.jsp | 34 | ||||
-rw-r--r-- | src/main/webapp/pages/addNewPokemonHelper.jsp | 2 | ||||
-rw-r--r-- | src/main/webapp/pages/adminIndex.jsp | 8 | ||||
-rw-r--r-- | src/main/webapp/pages/register.jsp | 19 | ||||
-rw-r--r-- | src/main/webapp/pages/registerAdmin.jsp | 17 | ||||
-rw-r--r-- | src/main/webapp/pages/registerPage.jsp | 8 |
10 files changed, 94 insertions, 34 deletions
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 @@ <h1>Login</h1> <form method="post" action="pages/login.jsp"> - <input type="text" name="username"> Korisnicko ime + <input type="text" name="username" required> Korisnicko ime <br> - <input type="password" name="password">Sifra + <input type="password" name="password" required>Sifra <br> <p style="color:red;"> <% 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){ <form method="post" action="addNewPokemonHelper.jsp"> -<input type="text" name="name"> Ime <br> -<input type="text" name="description"> Opis <br> -<input type="text" name="hp"> Hp <br> -<input type="text" name="base64Image"> ImageString64 <br> +<input type="text" name="name" required> Ime <br> +<input type="text" name="description" required> Opis <br> +<input type="number" step="1" name="hp" required> Hp <br> +<input type="text" name="base64Image" required> ImageString64 <br> <h2>Abilities</h2> <h3>ATTACK</h3> -<input type="text" name="abilitiesName"> Ime <br> -<input type="text" name="abilitiesDesc"> Opis <br> -<input type="hidden" name="abilitiesType" value="0"> -<input type="text" name="abilitiesPower"> Snaga <br> +<input type="text" name="abilitiesName" required> Ime <br> +<input type="text" name="abilitiesDesc" required> Opis <br> +<input type="hidden" name="abilitiesType" value="0" > +<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br> <h3>SPECIAL</h3> -<input type="text" name="abilitiesName"> Ime <br> -<input type="text" name="abilitiesDesc"> Opis <br> +<input type="text" name="abilitiesName" required> Ime <br> +<input type="text" name="abilitiesDesc" required> Opis <br> <input type="hidden" name="abilitiesType" value="1"> -<input type="text" name="abilitiesPower"> Snaga <br> +<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br> <h3>HEAL</h3> -<input type="text" name="abilitiesName"> Ime <br> -<input type="text" name="abilitiesDesc"> Opis <br> +<input type="text" name="abilitiesName" required> Ime <br> +<input type="text" name="abilitiesDesc" required> Opis <br> <input type="hidden" name="abilitiesType" value="2"> -<input type="text" name="abilitiesPower"> Snaga <br> +<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br> <h3>SHIELD</h3> -<input type="text" name="abilitiesName"> Ime <br> -<input type="text" name="abilitiesDesc"> Opis <br> +<input type="text" name="abilitiesName" required> Ime <br> +<input type="text" name="abilitiesDesc" required> Opis <br> <input type="hidden" name="abilitiesType" value="3"> -<input type="text" name="abilitiesPower"> Snaga <br> +<input type="number" step="0.01" name="abilitiesPower" required> Snaga <br> <button type="submit">Dodaj</button> 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); <br><br> <h1>Registracija novog admina</h1> <form method="post" action="registerAdmin.jsp"> - <input type="text" name="username"> Korisnicko ime + <input type="text" name="username" pattern="^[A-Za-z0-9]{1,}$" required> Korisnicko ime <br> - <input type="password" name="password">Sifra + <input type="password" name="password" pattern="^[A-Za-z0-9]{1,}$" required>Sifra <br> <p style="color:red;"> <% 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"); + %> </p> <p style="color:green;"> <% 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 @@ </head> <body> <form method="post" action="register.jsp"> - <input type="text" name="username"> Korisnicko ime + <input type="text" name="username" pattern="^[A-Za-z0-9]{1,}$" required> Korisnicko ime <br> - <input type="password" name="password">Sifra + <input type="password" name="password" pattern="^[A-Za-z0-9]{1,}$" required>Sifra <br> <p style="color:red;"> <% 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"); + %> </p> <button type="submit">Registracija</button> </form> |