我想在且仅在使用 RegExp 填充和验证一组文本字段时启用一个按钮。如果您在网络注册表单中思考,我需要在 QML 应用程序中具有相同的行为。当然,我知道使用 JS代码是可能的,但我的目标不是使用它,而是以一种优雅的方式做到这一点,只使用声明性的 qml 代码。有什么想法吗?
这是一个例子:
Label {
text: qsTr('First name')
}
TextField {
id: firstNameTextField
}
Label {
text: qsTr('Last name')
}
TextField {
id: lastNameTextField
}
Label {
text: qsTr('email')
}
// Username
TextField {
id: emailTextField
placeholderText: qsTr("Enter email")
smooth: true
validator: RegExpValidator{ regExp: /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i }
}
Label {
text: qsTr('Password')
}
TextField {
id: passwordTextField
}
Label {
text: qsTr('Re-Password')
}
TextField {
id: rePasswordTextField
}
Button {
id:button
enabled: // all text fields completed and validated
}