aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorcirakg <ciraboxkg@gmail.com>2023-01-04 17:29:50 +0100
committercirakg <ciraboxkg@gmail.com>2023-01-04 17:29:50 +0100
commitb0cf9f4b0c4eece41cb5e3542ab8c54f6dd3d32e (patch)
tree46508479c272d4b10b3febad3accf8a0d3b43b60 /src/main/java
parentcd694d64cf1a9be635df6b15168a5950644e5ce2 (diff)
Dodate provere za unos.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/pokemon/RegexHelper.java20
-rw-r--r--src/main/java/ui/GamePanel.java5
-rw-r--r--src/main/java/ui/LoginPanel.java11
3 files changed, 36 insertions, 0 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);