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 +++++++++++ 3 files changed, 36 insertions(+) create mode 100644 src/main/java/pokemon/RegexHelper.java (limited to 'src/main/java') 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); -- cgit v1.2.3