44 lines
1.2 KiB
QML
44 lines
1.2 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Layouts 1.15
|
|
|
|
Column {
|
|
id: root
|
|
property alias text: input.text
|
|
property bool valid: false
|
|
property bool canEmpty: false
|
|
property var regularExpression : /^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$/
|
|
TextField {
|
|
height: 44
|
|
width: 350
|
|
id: input
|
|
selectByMouse: true
|
|
onTextChanged: {
|
|
validate()
|
|
}
|
|
}
|
|
Text {
|
|
id: hint
|
|
color: "red"
|
|
font.pixelSize: 12
|
|
}
|
|
|
|
function reset() {
|
|
hint.text = ""
|
|
}
|
|
function validate() {
|
|
if (input.text.length <= 0) {
|
|
hint.text = root.canEmpty ? "" : "参数不能为空"
|
|
root.valid = root.canEmpty
|
|
return root.valid
|
|
}
|
|
root.valid = root.regularExpression.test(input.text)
|
|
if (!root.valid) {
|
|
hint.text = "参数配置无效"
|
|
} else {
|
|
hint.text = ""
|
|
}
|
|
return root.valid
|
|
}
|
|
}
|