added ipv4 validation in startupview

This commit is contained in:
Hendrik Schutter 2019-05-01 22:57:03 +02:00
parent 5976e16f0d
commit de34fc5531
2 changed files with 27 additions and 13 deletions

View File

@ -1,5 +1,6 @@
package org.hso.texturesyncclient.view.startupView
import com.jfoenix.animation.alert.CenterTransition
import com.jfoenix.controls.JFXButton
import com.jfoenix.controls.JFXSpinner
import com.jfoenix.controls.JFXTextField
@ -40,6 +41,9 @@ class StartupView : View() {
add(labelServerIP)
add(tfServerIP)
add(btnConnect)
// tfServerIP.style { alignment=Center} TODO
}
}
@ -50,12 +54,17 @@ class StartupView : View() {
}
btnConnect.setOnAction {
spinnerStatus.isVisible = true
svc.btnConnectAction(tfServerIP.text)
spinnerStatus.isVisible = false
}
tfServerIP.setOnKeyPressed {
if (it.code == KeyCode.ENTER) {
spinnerStatus.isVisible = true
svc.btnConnectAction(tfServerIP.text)
spinnerStatus.isVisible = false
}
}

View File

@ -1,25 +1,23 @@
package org.hso.texturesyncclient.view.startupView
import tornadofx.Controller
import com.sun.org.apache.xalan.internal.xsltc.compiler.sym.PATTERN
class StartupViewController : Controller() {
fun btnConnectAction(txt:String){
println("Connect BTN: $txt")
//TODO check IP4
spinnterStart()
}
if (validateIPv4(txt)){
println("valid ipv4")
//TODO connect to server ...
}else{
println("invalid ipv4")
//TODO show error
}
fun spinnterStart(){
val startupView = find(StartupView::class)
startupView.spinnerStatus.isVisible = true
}
fun spinnerStop(){
val startupView = find(StartupView::class)
startupView.spinnerStatus.isVisible = false
}
fun labelStatusSetText (txt:String){
@ -27,4 +25,11 @@ class StartupViewController : Controller() {
startupView.labelStatus.text = txt
}
}
fun validateIPv4(ip: String): Boolean {
val regex = Regex(pattern = "^(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d\\d?|2[0-4]\\d|25[0-5])\$")
return regex.containsMatchIn(input = ip) // matched: true
}
}