added ipv4 validation in startupview
This commit is contained in:
		@ -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
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user